Compare commits
	
		
			No commits in common. "7e82560aac81dd969137cba185c535d6412ff900" and "5ebe213205cb725f53249456e2ea1a9c25df07f8" have entirely different histories.
		
	
	
		
			7e82560aac
			...
			5ebe213205
		
	
		
| @ -12,9 +12,6 @@ | |||||||
|         android:supportsRtl="true" |         android:supportsRtl="true" | ||||||
|         android:theme="@style/Theme.TimerT" |         android:theme="@style/Theme.TimerT" | ||||||
|         tools:targetApi="31"> |         tools:targetApi="31"> | ||||||
|         <activity |  | ||||||
|             android:name=".History" |  | ||||||
|             android:exported="false" /> |  | ||||||
|         <activity |         <activity | ||||||
|             android:name=".SettingsActivity" |             android:name=".SettingsActivity" | ||||||
|             android:exported="false" /> |             android:exported="false" /> | ||||||
| @ -24,12 +21,6 @@ | |||||||
|         <activity |         <activity | ||||||
|             android:name=".timer" |             android:name=".timer" | ||||||
|             android:exported="false" /> |             android:exported="false" /> | ||||||
|         <activity |  | ||||||
|             android:name=".AllTraining" |  | ||||||
|             android:exported="true" /> |  | ||||||
|         <activity |  | ||||||
|             android:name=".AddWorkout" |  | ||||||
|             android:exported="true" /> |  | ||||||
|         <activity |         <activity | ||||||
|             android:name=".MainActivity" |             android:name=".MainActivity" | ||||||
|             android:exported="true"> |             android:exported="true"> | ||||||
|  | |||||||
| @ -4,8 +4,6 @@ import android.app.AlertDialog | |||||||
| import android.content.Intent | import android.content.Intent | ||||||
| import android.os.Bundle | import android.os.Bundle | ||||||
| import android.widget.Button | import android.widget.Button | ||||||
| import android.widget.EditText |  | ||||||
| import android.widget.ImageView |  | ||||||
| import androidx.activity.enableEdgeToEdge | import androidx.activity.enableEdgeToEdge | ||||||
| import androidx.appcompat.app.AppCompatActivity | import androidx.appcompat.app.AppCompatActivity | ||||||
| import androidx.core.view.ViewCompat | import androidx.core.view.ViewCompat | ||||||
| @ -55,46 +53,5 @@ class AddWorkout : AppCompatActivity() { | |||||||
|             val intent = Intent(this, CreatingTraining::class.java) |             val intent = Intent(this, CreatingTraining::class.java) | ||||||
|             startActivity(intent) |             startActivity(intent) | ||||||
|         } |         } | ||||||
|         val timeInputRestSetAll: EditText = findViewById(R.id.rest_sets_all) |  | ||||||
|         val btnPlusTimeAll: ImageView = findViewById(R.id.add_res_set2) |  | ||||||
|         val btnMinusTimeAll: ImageView = findViewById(R.id.del_res_set2) |  | ||||||
| 
 |  | ||||||
|         val setsInputAll: EditText = findViewById(R.id.numbers_of_sets_all) |  | ||||||
|         val btnPlusSetsAll: ImageView = findViewById(R.id.add_set3) |  | ||||||
|         val btnMinusSetsAll: ImageView = findViewById(R.id.del_set3) |  | ||||||
| 
 |  | ||||||
|         val timeInputRest: EditText = findViewById(R.id.rest_workout_all) |  | ||||||
|         val btnPlusTimeWor: ImageView = findViewById(R.id.add_res) |  | ||||||
|         val btnMinusTimeWor: ImageView = findViewById(R.id.del_res) |  | ||||||
| 
 |  | ||||||
|         val timeWork: EditText = findViewById(R.id.time_work_all) |  | ||||||
|         val Plus: ImageView = findViewById(R.id.add_set) |  | ||||||
|         val Minus: ImageView = findViewById(R.id.del_set) |  | ||||||
| 
 |  | ||||||
|         setupPlusMinus(timeInputRestSetAll, btnPlusTimeAll, btnMinusTimeAll, minValue = 5, maxValue = 600) |  | ||||||
|         setupPlusMinus(setsInputAll, btnPlusSetsAll, btnMinusSetsAll, minValue = 1, maxValue = 20) |  | ||||||
|         setupPlusMinus(timeInputRest, btnPlusTimeWor, btnMinusTimeWor, minValue = 5, maxValue = 600) |  | ||||||
|         setupPlusMinus(timeWork, Plus, Minus, minValue = 5, maxValue = 600) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
|     fun setupPlusMinus( |  | ||||||
|         editText: EditText, |  | ||||||
|         plus: ImageView, |  | ||||||
|         minus: ImageView, |  | ||||||
|         minValue: Int = 5, |  | ||||||
|         maxValue: Int = 600 |  | ||||||
|     ) { |  | ||||||
|         plus.setOnClickListener { |  | ||||||
|             val current = editText.text.toString().toIntOrNull() ?: minValue |  | ||||||
|             val newValue = (current + 1).coerceAtMost(maxValue) |  | ||||||
|             editText.setText(newValue.toString()) |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         minus.setOnClickListener { |  | ||||||
|             val current = editText.text.toString().toIntOrNull() ?: minValue |  | ||||||
|             val newValue = (current - 1).coerceAtLeast(minValue) |  | ||||||
|             editText.setText(newValue.toString()) |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -23,12 +23,11 @@ class AllTraining : AppCompatActivity() { | |||||||
|         } |         } | ||||||
|         val buttonSaveAll: Button = findViewById(R.id.btn_save_all_vse) |         val buttonSaveAll: Button = findViewById(R.id.btn_save_all_vse) | ||||||
|         buttonSaveAll.setOnClickListener { |         buttonSaveAll.setOnClickListener { | ||||||
|             val intent = Intent(this, CreatingTraining::class.java) |             val intent = Intent(this, MainActivity::class.java) | ||||||
|             startActivity(intent) |             startActivity(intent) | ||||||
|             isSave = true |             isSave = true | ||||||
| 
 | 
 | ||||||
|         } |         } | ||||||
| 
 |  | ||||||
|         val button_on_main_all: Button = findViewById(R.id.btn_on_main_all_vse) |         val button_on_main_all: Button = findViewById(R.id.btn_on_main_all_vse) | ||||||
|         button_on_main_all.setOnClickListener { |         button_on_main_all.setOnClickListener { | ||||||
|             if (isSave == false) { |             if (isSave == false) { | ||||||
|  | |||||||
| @ -4,9 +4,7 @@ import android.app.AlertDialog | |||||||
| import android.content.Intent | import android.content.Intent | ||||||
| import android.os.Bundle | import android.os.Bundle | ||||||
| import android.widget.Button | import android.widget.Button | ||||||
| import android.widget.EditText |  | ||||||
| import android.widget.ImageButton | import android.widget.ImageButton | ||||||
| import android.widget.ImageView |  | ||||||
| import androidx.activity.enableEdgeToEdge | import androidx.activity.enableEdgeToEdge | ||||||
| import androidx.appcompat.app.AppCompatActivity | import androidx.appcompat.app.AppCompatActivity | ||||||
| import androidx.core.view.ViewCompat | import androidx.core.view.ViewCompat | ||||||
| @ -27,20 +25,8 @@ class CreatingTraining : AppCompatActivity() { | |||||||
|         buttonSave.setOnClickListener { |         buttonSave.setOnClickListener { | ||||||
| 
 | 
 | ||||||
|             isSave=true |             isSave=true | ||||||
|             val intent = Intent(this, MainActivity::class.java) |  | ||||||
|             startActivity(intent) |  | ||||||
| 
 | 
 | ||||||
|         } |         } | ||||||
|         val timeInputRest: EditText = findViewById(R.id.rest_sets) |  | ||||||
|         val btnPlusTime: ImageView = findViewById(R.id.add_res) |  | ||||||
|         val btnMinusTime: ImageView = findViewById(R.id.del_res) |  | ||||||
| 
 |  | ||||||
|         val setsInput: EditText = findViewById(R.id.numbers_of_sets) |  | ||||||
|         val btnPlusSets: ImageView = findViewById(R.id.add_set) |  | ||||||
|         val btnMinusSets: ImageView = findViewById(R.id.del_set) |  | ||||||
| 
 |  | ||||||
|         setupPlusMinus(timeInputRest, btnPlusTime, btnMinusTime, minValue = 5, maxValue = 600) |  | ||||||
|         setupPlusMinus(setsInput, btnPlusSets, btnMinusSets, minValue = 1, maxValue = 20) |  | ||||||
|         val button_on_main: Button = findViewById(R.id.btn_on_main) |         val button_on_main: Button = findViewById(R.id.btn_on_main) | ||||||
|         button_on_main.setOnClickListener { |         button_on_main.setOnClickListener { | ||||||
|             if(isSave==false){ |             if(isSave==false){ | ||||||
| @ -62,30 +48,6 @@ class CreatingTraining : AppCompatActivity() { | |||||||
| 
 | 
 | ||||||
|             } |             } | ||||||
|             } |             } | ||||||
|         val button_add: Button = findViewById(R.id.add_workout) |  | ||||||
|         button_add.setOnClickListener { |  | ||||||
|             val intent = Intent(this, AllTraining::class.java) |  | ||||||
|             startActivity(intent) |  | ||||||
|         } |  | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
|     fun setupPlusMinus( |  | ||||||
|         editText: EditText, |  | ||||||
|         plus: ImageView, |  | ||||||
|         minus: ImageView, |  | ||||||
|         minValue: Int = 5, |  | ||||||
|         maxValue: Int = 600 |  | ||||||
|     ) { |  | ||||||
|         plus.setOnClickListener { |  | ||||||
|             val current = editText.text.toString().toIntOrNull() ?: minValue |  | ||||||
|             val newValue = (current + 1).coerceAtMost(maxValue) |  | ||||||
|             editText.setText(newValue.toString()) |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         minus.setOnClickListener { |  | ||||||
|             val current = editText.text.toString().toIntOrNull() ?: minValue |  | ||||||
|             val newValue = (current - 1).coerceAtLeast(minValue) |  | ||||||
|             editText.setText(newValue.toString()) |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } | } | ||||||
| @ -1,27 +0,0 @@ | |||||||
| package com.example.timert |  | ||||||
| 
 |  | ||||||
| import android.content.Intent |  | ||||||
| import android.os.Bundle |  | ||||||
| import android.widget.Button |  | ||||||
| import androidx.activity.enableEdgeToEdge |  | ||||||
| import androidx.appcompat.app.AppCompatActivity |  | ||||||
| import androidx.core.view.ViewCompat |  | ||||||
| import androidx.core.view.WindowInsetsCompat |  | ||||||
| 
 |  | ||||||
| class History : AppCompatActivity() { |  | ||||||
|     override fun onCreate(savedInstanceState: Bundle?) { |  | ||||||
|         super.onCreate(savedInstanceState) |  | ||||||
|         enableEdgeToEdge() |  | ||||||
|         setContentView(R.layout.activity_history) |  | ||||||
|         ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> |  | ||||||
|             val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) |  | ||||||
|             v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) |  | ||||||
|             insets |  | ||||||
|         } |  | ||||||
|         val button_on_main: Button = findViewById(R.id.btn_on_main) |  | ||||||
|         button_on_main.setOnClickListener { |  | ||||||
|             val intent = Intent(this, MainActivity::class.java) |  | ||||||
|             startActivity(intent) |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -2,7 +2,6 @@ package com.example.timert | |||||||
| 
 | 
 | ||||||
| import android.content.Intent | import android.content.Intent | ||||||
| import android.os.Bundle | import android.os.Bundle | ||||||
| import android.view.View |  | ||||||
| import android.widget.Button | import android.widget.Button | ||||||
| import android.widget.Toast | import android.widget.Toast | ||||||
| import androidx.activity.enableEdgeToEdge | import androidx.activity.enableEdgeToEdge | ||||||
| @ -32,31 +31,18 @@ class MainActivity : AppCompatActivity() { | |||||||
|         startTrainingButton.setOnClickListener { |         startTrainingButton.setOnClickListener { | ||||||
|             Toast.makeText(this, "Запуск тренировки!", Toast.LENGTH_SHORT).show() // Заглушка |             Toast.makeText(this, "Запуск тренировки!", Toast.LENGTH_SHORT).show() // Заглушка | ||||||
|             //TODO: Intent для запуска Activity тренировки (форма 5) |             //TODO: Intent для запуска Activity тренировки (форма 5) | ||||||
|             val intent = Intent(this, timer::class.java) |  | ||||||
|             startActivity(intent) |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         val templatesButton: Button = findViewById(R.id.templatesButton) |         val templatesButton: Button = findViewById(R.id.templatesButton) | ||||||
|         templatesButton.setOnClickListener { |         templatesButton.setOnClickListener { | ||||||
|             //Toast.makeText(this, "Открытие шаблонов!", Toast.LENGTH_SHORT).show() // Заглушка |             Toast.makeText(this, "Открытие шаблонов!", Toast.LENGTH_SHORT).show() // Заглушка | ||||||
|             //TODO: Intent для открытия Activity шаблонов (форма 3) |             //TODO: Intent для открытия Activity шаблонов (форма 3) | ||||||
|             val intent = Intent(this, AddWorkout::class.java) |  | ||||||
|             startActivity(intent) |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         val newTemplateButton: Button = findViewById(R.id.newTemplateButton) |         val newTemplateButton: Button = findViewById(R.id.newTemplateButton) | ||||||
|         newTemplateButton.setOnClickListener { |         newTemplateButton.setOnClickListener { | ||||||
|             //Toast.makeText(this, "Создание нового шаблона!", Toast.LENGTH_SHORT).show() // Заглушка |             Toast.makeText(this, "Создание нового шаблона!", Toast.LENGTH_SHORT).show() // Заглушка | ||||||
|             //TODO: Intent для открытия Activity создания шаблона (форма 7) |             //TODO: Intent для открытия Activity создания шаблона (форма 3) | ||||||
|             val intent = Intent(this, History::class.java) |  | ||||||
|             startActivity(intent) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|         } |  | ||||||
|         val exits: Button = findViewById(R.id.btn_exit) |  | ||||||
|         exits.setOnClickListener { |  | ||||||
|             finish() |  | ||||||
| 
 |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -1,7 +1,6 @@ | |||||||
| package com.example.timert | package com.example.timert | ||||||
| 
 | 
 | ||||||
| import android.content.Context | import android.content.Context | ||||||
| import android.content.Intent |  | ||||||
| import android.content.pm.PackageManager | import android.content.pm.PackageManager | ||||||
| import android.os.Bundle | import android.os.Bundle | ||||||
| import android.widget.Switch | import android.widget.Switch | ||||||
| @ -17,17 +16,61 @@ class SettingsActivity : AppCompatActivity() { | |||||||
|         super.onCreate(savedInstanceState) |         super.onCreate(savedInstanceState) | ||||||
|         setContentView(R.layout.activity_settings2) |         setContentView(R.layout.activity_settings2) | ||||||
| 
 | 
 | ||||||
| 
 |         val versionTextView: TextView = findViewById(R.id.versionTextView) | ||||||
| 
 |         val darkModeSwitch: Switch = findViewById(R.id.darkModeSwitch) | ||||||
|  |         val aboutButton: Button = findViewById(R.id.aboutButton) | ||||||
|         val developersButton: Button = findViewById(R.id.developersButton) |         val developersButton: Button = findViewById(R.id.developersButton) | ||||||
| 
 | 
 | ||||||
|  |         // Получаем сохраненное состояние темы из SharedPreferences | ||||||
|  |         val sharedPreferences = getSharedPreferences("AppSettings", Context.MODE_PRIVATE) | ||||||
|  |         val isDarkMode = sharedPreferences.getBoolean("DarkMode", false) // По умолчанию - светлая тема | ||||||
|  |         darkModeSwitch.isChecked = isDarkMode | ||||||
|  | 
 | ||||||
|  |         // Применяем тему | ||||||
|  |         if (isDarkMode) { | ||||||
|  |             AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) | ||||||
|  |         } else { | ||||||
|  |             AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         try { | ||||||
|  |             val packageInfo = packageManager.getPackageInfo(packageName, 0) | ||||||
|  |             val versionName = packageInfo.versionName | ||||||
|  |             versionTextView.text = "Версия: $versionName" | ||||||
|  |         } catch (e: PackageManager.NameNotFoundException) { | ||||||
|  |             versionTextView.text = "Версия: Неизвестно" | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // Устанавливаем слушатель для Switch | ||||||
|  |         darkModeSwitch.setOnCheckedChangeListener { _, isChecked -> | ||||||
|  |             // Сохраняем состояние темы в SharedPreferences | ||||||
|  |             val editor = sharedPreferences.edit() | ||||||
|  |             editor.putBoolean("DarkMode", isChecked) | ||||||
|  |             editor.apply() | ||||||
|  | 
 | ||||||
|  |             // Применяем тему | ||||||
|  |             if (isChecked) { | ||||||
|  |                 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) | ||||||
|  |             } else { | ||||||
|  |                 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         // Обработчик нажатия на кнопку "О программе" | ||||||
|  |         aboutButton.setOnClickListener { | ||||||
|  |             AlertDialog.Builder(this) | ||||||
|  |                 .setTitle("О программе") | ||||||
|  |                 .setMessage("Краткое описание пользования приложением.\n\nНапример: Это приложение позволяет тренироваться, чтобы быть как арнольдшварцнигер 😄") | ||||||
|  |                 .setPositiveButton("ОК", null) | ||||||
|  |                 .show() | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
|         // Обработчик нажатия на кнопку "Разработчики" |         // Обработчик нажатия на кнопку "Разработчики" | ||||||
|         developersButton.setOnClickListener { |         developersButton.setOnClickListener { | ||||||
|             AlertDialog.Builder(this) |             AlertDialog.Builder(this) | ||||||
|                 .setTitle("Разработчики") |                 .setTitle("Разработчики") | ||||||
|                 .setMessage(HtmlCompat.fromHtml( |                 .setMessage(HtmlCompat.fromHtml( | ||||||
|                     "<p style='margin-left: 2em;'><b>Программу разработали:</b></p><br>" + |                     "<p style='margin-left: 2em;'><b>Вятский государственный университет</b></p><br>" + | ||||||
|                             "<p style='margin-left: 2em;'>Емцова Надежда Александровна</p>" + |                             "<p style='margin-left: 2em;'>Емцова Надежда Александровна</p>" + | ||||||
|                             "<p style='margin-left: 2em;'>Новиков Николай Алексеевич</p>" + |                             "<p style='margin-left: 2em;'>Новиков Николай Алексеевич</p>" + | ||||||
|                             "<p style='margin-left: 2em;'>Пискун Алёна Викторовна</p>", |                             "<p style='margin-left: 2em;'>Пискун Алёна Викторовна</p>", | ||||||
| @ -36,10 +79,5 @@ class SettingsActivity : AppCompatActivity() { | |||||||
|                 .setPositiveButton("ОК", null) |                 .setPositiveButton("ОК", null) | ||||||
|                 .show() |                 .show() | ||||||
|         } |         } | ||||||
|         val on_main: Button = findViewById(R.id.btn_on_main) |  | ||||||
|         on_main.setOnClickListener { |  | ||||||
|             val intent = Intent(this, MainActivity::class.java) |  | ||||||
|             startActivity(intent) |  | ||||||
|         } |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
|  | } | ||||||
| @ -4,30 +4,15 @@ import android.app.AlertDialog | |||||||
| import android.content.Intent | import android.content.Intent | ||||||
| import android.media.Image | import android.media.Image | ||||||
| import android.os.Bundle | import android.os.Bundle | ||||||
| import android.os.CountDownTimer |  | ||||||
| import android.widget.Button | import android.widget.Button | ||||||
| import android.widget.ImageButton | import android.widget.ImageButton | ||||||
| import android.widget.TextView |  | ||||||
| import androidx.activity.enableEdgeToEdge | import androidx.activity.enableEdgeToEdge | ||||||
| import androidx.appcompat.app.AppCompatActivity | import androidx.appcompat.app.AppCompatActivity | ||||||
| import androidx.constraintlayout.widget.ConstraintLayout |  | ||||||
| import androidx.core.view.ViewCompat | import androidx.core.view.ViewCompat | ||||||
| import androidx.core.view.WindowInsetsCompat | import androidx.core.view.WindowInsetsCompat | ||||||
| 
 | 
 | ||||||
| class timer : AppCompatActivity() { | class timer : AppCompatActivity() { | ||||||
|     private var isPlay = false |     private var isPlay = false | ||||||
| 
 |  | ||||||
|     private lateinit var statusText: TextView |  | ||||||
|     private lateinit var timerText: TextView |  | ||||||
|     private lateinit var statusSet: TextView |  | ||||||
|     private lateinit var statusExercise: TextView |  | ||||||
|     private var numApproaches = 3 |  | ||||||
|     private var numExercises = 5 |  | ||||||
|     private var restBetweenExercises = 30 |  | ||||||
|     private var restBetweenApproaches = 60 |  | ||||||
|     private var exerciseDuration = 45  // например, 45 секунд упражнение |  | ||||||
|     private var currentTimer: CountDownTimer? = null |  | ||||||
|     private var timeLeftInMillis: Long = 0 |  | ||||||
|     override fun onCreate(savedInstanceState: Bundle?) { |     override fun onCreate(savedInstanceState: Bundle?) { | ||||||
|         super.onCreate(savedInstanceState) |         super.onCreate(savedInstanceState) | ||||||
|         enableEdgeToEdge() |         enableEdgeToEdge() | ||||||
| @ -37,18 +22,6 @@ class timer : AppCompatActivity() { | |||||||
|             v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) |             v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) | ||||||
|             insets |             insets | ||||||
|         } |         } | ||||||
|         statusText = findViewById(R.id.statusText) |  | ||||||
|         timerText = findViewById(R.id.timerText) |  | ||||||
|         statusSet = findViewById(R.id.number_set) |  | ||||||
|         statusExercise = findViewById(R.id.num_exercise) |  | ||||||
|         numApproaches = intent.getIntExtra("numApproaches", numApproaches) |  | ||||||
|         numExercises = intent.getIntExtra("numExercises", numExercises) |  | ||||||
|         restBetweenExercises = intent.getIntExtra("restBetweenExercises", restBetweenExercises) |  | ||||||
|         restBetweenApproaches = intent.getIntExtra("restBetweenApproaches", restBetweenApproaches) |  | ||||||
|         exerciseDuration = intent.getIntExtra("exerciseDuration", exerciseDuration) |  | ||||||
| 
 |  | ||||||
|         startTraining() |  | ||||||
| 
 |  | ||||||
|         val button: ImageButton = findViewById(R.id.stop) |         val button: ImageButton = findViewById(R.id.stop) | ||||||
|         button.setOnClickListener { |         button.setOnClickListener { | ||||||
|             AlertDialog.Builder(this) |             AlertDialog.Builder(this) | ||||||
| @ -85,90 +58,5 @@ class timer : AppCompatActivity() { | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
|     private fun resumeTimer(onFinish: () -> Unit) { |  | ||||||
|         currentTimer = object : CountDownTimer(timeLeftInMillis, 1000) { |  | ||||||
|             override fun onTick(millisUntilFinished: Long) { |  | ||||||
|                 timeLeftInMillis = millisUntilFinished |  | ||||||
|                 timerText.text = "${millisUntilFinished / 1000}" |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             override fun onFinish() { |  | ||||||
|                 onFinish() |  | ||||||
|             } |  | ||||||
|         }.start() |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     private fun startTraining() { |  | ||||||
|         var currentApproach = 1 |  | ||||||
|         val rootLayout = findViewById<ConstraintLayout>(R.id.main) |  | ||||||
|         fun nextApproach() { |  | ||||||
|             if (currentApproach > numApproaches) { |  | ||||||
|                 statusText.text = "Тренировка завершена!" |  | ||||||
|                 rootLayout.setBackgroundResource(R.drawable.blue_gradient) |  | ||||||
|                 timerText.text = "00:00" |  | ||||||
|                 return |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             var currentExercise = 1 |  | ||||||
| 
 |  | ||||||
|             fun nextExercise() { |  | ||||||
|                 if (currentExercise > numExercises) { |  | ||||||
|                     statusText.text = "Отдых между подходами" |  | ||||||
|                     rootLayout.setBackgroundResource(R.drawable.green_gradient) |  | ||||||
|                     startRest(restBetweenApproaches) { |  | ||||||
|                         currentApproach++ |  | ||||||
|                         nextApproach() |  | ||||||
|                     } |  | ||||||
|                     return |  | ||||||
|                 } |  | ||||||
|                 rootLayout.setBackgroundResource(R.drawable.gradient_pink) |  | ||||||
|                 statusText.text="Работа" |  | ||||||
| 
 |  | ||||||
|                 statusExercise.text = "$currentExercise / $numExercises" |  | ||||||
|                 statusSet.text="$currentApproach" |  | ||||||
|                 startTimer(exerciseDuration) { |  | ||||||
|                     statusText.text = "Отдых" |  | ||||||
|                     rootLayout.setBackgroundResource(R.drawable.green_gradient) |  | ||||||
|                     startRest(restBetweenExercises) { |  | ||||||
|                         currentExercise++ |  | ||||||
|                         nextExercise() |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             nextExercise() |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         nextApproach() |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     private fun startTimer(seconds: Int, onFinish: () -> Unit) { |  | ||||||
|         timeLeftInMillis = seconds * 1000L |  | ||||||
|         object : CountDownTimer(seconds * 1000L, 1000) { |  | ||||||
|             override fun onTick(millisUntilFinished: Long) { |  | ||||||
|                 timerText.text = "${millisUntilFinished / 1000}" |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             override fun onFinish() { |  | ||||||
|                 onFinish() |  | ||||||
|             } |  | ||||||
|         }.start() |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     private fun startRest(seconds: Int, onFinish: () -> Unit) { |  | ||||||
|         val rootLayout = findViewById<ConstraintLayout>(R.id.main) |  | ||||||
|         rootLayout.setBackgroundResource(R.drawable.green_gradient) |  | ||||||
|         object : CountDownTimer(seconds * 1000L, 1000) { |  | ||||||
|             override fun onTick(millisUntilFinished: Long) { |  | ||||||
|                 timerText.text = "${millisUntilFinished / 1000}" |  | ||||||
|                 statusText.text = "Отдых" |  | ||||||
| 
 |  | ||||||
|             } |  | ||||||
| 
 |  | ||||||
|             override fun onFinish() { |  | ||||||
|                 onFinish() |  | ||||||
|             } |  | ||||||
|         }.start() |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| @ -63,27 +63,22 @@ | |||||||
|                 android:id="@+id/del_set3" |                 android:id="@+id/del_set3" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_remove_24px" /> |                 app:srcCompat="@drawable/ic_remove_24px" /> | ||||||
| 
 | 
 | ||||||
|             <EditText |             <TextView | ||||||
|                 android:id="@+id/numbers_of_sets_all" |                 android:id="@+id/numbers_of_sets_all3" | ||||||
|                 android:layout_width="3dp" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="38dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 android:ems="10" |                 android:text="0" | ||||||
|                 android:gravity="center" |                 android:textAlignment="center" | ||||||
|                 android:inputType="number" |                 android:textSize="34sp" /> | ||||||
|                 android:text="1" |  | ||||||
|                 android:textSize="26sp" /> |  | ||||||
| 
 | 
 | ||||||
|             <ImageView |             <ImageView | ||||||
|                 android:id="@+id/add_set3" |                 android:id="@+id/add_set3" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_add_24px" /> |                 app:srcCompat="@drawable/ic_add_24px" /> | ||||||
|         </LinearLayout> |         </LinearLayout> | ||||||
| @ -102,30 +97,25 @@ | |||||||
|             android:orientation="horizontal"> |             android:orientation="horizontal"> | ||||||
| 
 | 
 | ||||||
|             <ImageView |             <ImageView | ||||||
|                 android:id="@+id/del_res_set2" |                 android:id="@+id/del_set2" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_remove_24px" /> |                 app:srcCompat="@drawable/ic_remove_24px" /> | ||||||
| 
 | 
 | ||||||
|             <EditText |             <TextView | ||||||
|                 android:id="@+id/rest_sets_all" |                 android:id="@+id/numbers_of_sets_all2" | ||||||
|                 android:layout_width="3dp" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="38dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 android:ems="10" |                 android:text="0" | ||||||
|                 android:gravity="center" |                 android:textAlignment="center" | ||||||
|                 android:inputType="number" |                 android:textSize="34sp" /> | ||||||
|                 android:text="5" |  | ||||||
|                 android:textSize="26sp" /> |  | ||||||
| 
 | 
 | ||||||
|             <ImageView |             <ImageView | ||||||
|                 android:id="@+id/add_res_set2" |                 android:id="@+id/add_set2" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_add_24px" /> |                 app:srcCompat="@drawable/ic_add_24px" /> | ||||||
|         </LinearLayout> |         </LinearLayout> | ||||||
| @ -148,27 +138,22 @@ | |||||||
|                 android:id="@+id/del_set" |                 android:id="@+id/del_set" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_remove_24px" /> |                 app:srcCompat="@drawable/ic_remove_24px" /> | ||||||
| 
 | 
 | ||||||
|             <EditText |             <TextView | ||||||
|                 android:id="@+id/time_work_all" |                 android:id="@+id/numbers_of_sets_allall" | ||||||
|                 android:layout_width="3dp" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="38dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 android:ems="10" |                 android:text="0" | ||||||
|                 android:gravity="center" |                 android:textAlignment="center" | ||||||
|                 android:inputType="number" |                 android:textSize="34sp" /> | ||||||
|                 android:text="5" |  | ||||||
|                 android:textSize="26sp" /> |  | ||||||
| 
 | 
 | ||||||
|             <ImageView |             <ImageView | ||||||
|                 android:id="@+id/add_set" |                 android:id="@+id/add_set" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_add_24px" /> |                 app:srcCompat="@drawable/ic_add_24px" /> | ||||||
|         </LinearLayout> |         </LinearLayout> | ||||||
| @ -190,27 +175,22 @@ | |||||||
|                 android:id="@+id/del_res" |                 android:id="@+id/del_res" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_remove_24px" /> |                 app:srcCompat="@drawable/ic_remove_24px" /> | ||||||
| 
 | 
 | ||||||
|             <EditText |             <TextView | ||||||
|                 android:id="@+id/rest_workout_all" |                 android:id="@+id/rest_sets_allall" | ||||||
|                 android:layout_width="3dp" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="39dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 android:ems="10" |                 android:text="0" | ||||||
|                 android:gravity="center" |                 android:textAlignment="center" | ||||||
|                 android:inputType="number" |                 android:textSize="34sp" /> | ||||||
|                 android:text="5" |  | ||||||
|                 android:textSize="26sp" /> |  | ||||||
| 
 | 
 | ||||||
|             <ImageView |             <ImageView | ||||||
|                 android:id="@+id/add_res" |                 android:id="@+id/add_res" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_add_24px" /> |                 app:srcCompat="@drawable/ic_add_24px" /> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -20,7 +20,7 @@ | |||||||
|             android:id="@+id/textView2" |             android:id="@+id/textView2" | ||||||
|             android:layout_width="match_parent" |             android:layout_width="match_parent" | ||||||
|             android:layout_height="wrap_content" |             android:layout_height="wrap_content" | ||||||
|             android:text="Добавить упражнение" |             android:text="Тренировка" | ||||||
|             android:textAlignment="center" |             android:textAlignment="center" | ||||||
|             android:textSize="34sp" /> |             android:textSize="34sp" /> | ||||||
| 
 | 
 | ||||||
| @ -40,7 +40,7 @@ | |||||||
|     <LinearLayout |     <LinearLayout | ||||||
|         android:id="@+id/setting_training" |         android:id="@+id/setting_training" | ||||||
|         android:layout_width="match_parent" |         android:layout_width="match_parent" | ||||||
|         android:layout_height="250dp" |         android:layout_height="200dp" | ||||||
|         android:layout_marginTop="37dp" |         android:layout_marginTop="37dp" | ||||||
|         android:orientation="vertical" |         android:orientation="vertical" | ||||||
|         app:layout_constraintTop_toBottomOf="@+id/linearLayout" |         app:layout_constraintTop_toBottomOf="@+id/linearLayout" | ||||||
| @ -64,27 +64,22 @@ | |||||||
|                 android:id="@+id/del_set" |                 android:id="@+id/del_set" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_remove_24px" /> |                 app:srcCompat="@drawable/ic_remove_24px" /> | ||||||
| 
 | 
 | ||||||
|             <EditText |             <TextView | ||||||
|                 android:id="@+id/time_work" |                 android:id="@+id/numbers_of_sets_allall" | ||||||
|                 android:layout_width="3dp" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="38dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 android:ems="10" |                 android:text="0" | ||||||
|                 android:gravity="center" |                 android:textAlignment="center" | ||||||
|                 android:inputType="number" |                 android:textSize="34sp" /> | ||||||
|                 android:text="5" |  | ||||||
|                 android:textSize="26sp" /> |  | ||||||
| 
 | 
 | ||||||
|             <ImageView |             <ImageView | ||||||
|                 android:id="@+id/add_set" |                 android:id="@+id/add_set" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_add_24px" /> |                 app:srcCompat="@drawable/ic_add_24px" /> | ||||||
|         </LinearLayout> |         </LinearLayout> | ||||||
| @ -93,40 +88,35 @@ | |||||||
|             android:id="@+id/textView8_all" |             android:id="@+id/textView8_all" | ||||||
|             android:layout_width="match_parent" |             android:layout_width="match_parent" | ||||||
|             android:layout_height="wrap_content" |             android:layout_height="wrap_content" | ||||||
|             android:text="Отдых между упражнениями" |             android:text="Отдых между подходами" | ||||||
|             android:textAlignment="center" |             android:textAlignment="center" | ||||||
|             android:textSize="24sp" /> |             android:textSize="24sp" /> | ||||||
| 
 | 
 | ||||||
|         <LinearLayout |         <LinearLayout | ||||||
|             android:layout_width="match_parent" |             android:layout_width="match_parent" | ||||||
|             android:layout_height="95dp" |             android:layout_height="50dp" | ||||||
|             android:orientation="horizontal"> |             android:orientation="horizontal"> | ||||||
| 
 | 
 | ||||||
|             <ImageView |             <ImageView | ||||||
|                 android:id="@+id/del_res" |                 android:id="@+id/del_res" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_remove_24px" /> |                 app:srcCompat="@drawable/ic_remove_24px" /> | ||||||
| 
 | 
 | ||||||
|             <EditText |             <TextView | ||||||
|                 android:id="@+id/rest_workout" |                 android:id="@+id/rest_sets_allall" | ||||||
|                 android:layout_width="3dp" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="39dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 android:ems="10" |                 android:text="0" | ||||||
|                 android:gravity="center" |                 android:textAlignment="center" | ||||||
|                 android:inputType="number" |                 android:textSize="34sp" /> | ||||||
|                 android:text="5" |  | ||||||
|                 android:textSize="26sp" /> |  | ||||||
| 
 | 
 | ||||||
|             <ImageView |             <ImageView | ||||||
|                 android:id="@+id/add_res" |                 android:id="@+id/add_res" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_add_24px" /> |                 app:srcCompat="@drawable/ic_add_24px" /> | ||||||
|         </LinearLayout> |         </LinearLayout> | ||||||
| @ -141,21 +131,6 @@ | |||||||
|         app:layout_constraintBottom_toBottomOf="parent" |         app:layout_constraintBottom_toBottomOf="parent" | ||||||
|         tools:layout_editor_absoluteX="7dp"> |         tools:layout_editor_absoluteX="7dp"> | ||||||
| 
 | 
 | ||||||
|         <Button |  | ||||||
|             android:id="@+id/btn_on_main_all_vse" |  | ||||||
|             android:layout_width="150dp" |  | ||||||
|             android:layout_height="wrap_content" |  | ||||||
|             android:layout_gravity="center" |  | ||||||
|             android:layout_marginLeft="20dp" |  | ||||||
|             android:layout_marginRight="20dp" |  | ||||||
|             android:layout_weight="1" |  | ||||||
|             android:background="@drawable/gradient_purpure" |  | ||||||
|             android:text="на главную" |  | ||||||
|             android:textAlignment="center" |  | ||||||
|             android:textColor="@color/white" |  | ||||||
|             tools:layout_editor_absoluteX="16dp" |  | ||||||
|             tools:layout_editor_absoluteY="653dp" /> |  | ||||||
| 
 |  | ||||||
|         <Button |         <Button | ||||||
|             android:id="@+id/btn_save_all_vse" |             android:id="@+id/btn_save_all_vse" | ||||||
|             android:layout_width="150dp" |             android:layout_width="150dp" | ||||||
| @ -170,5 +145,20 @@ | |||||||
|             android:textColor="@color/white" |             android:textColor="@color/white" | ||||||
|             tools:layout_editor_absoluteX="245dp" |             tools:layout_editor_absoluteX="245dp" | ||||||
|             tools:layout_editor_absoluteY="653dp" /> |             tools:layout_editor_absoluteY="653dp" /> | ||||||
|  | 
 | ||||||
|  |         <Button | ||||||
|  |             android:id="@+id/btn_on_main_all_vse" | ||||||
|  |             android:layout_width="150dp" | ||||||
|  |             android:layout_height="wrap_content" | ||||||
|  |             android:layout_gravity="center" | ||||||
|  |             android:layout_marginLeft="20dp" | ||||||
|  |             android:layout_marginRight="20dp" | ||||||
|  |             android:layout_weight="1" | ||||||
|  |             android:background="@drawable/gradient_purpure" | ||||||
|  |             android:text="на главную" | ||||||
|  |             android:textAlignment="center" | ||||||
|  |             android:textColor="@color/white" | ||||||
|  |             tools:layout_editor_absoluteX="16dp" | ||||||
|  |             tools:layout_editor_absoluteY="653dp" /> | ||||||
|     </LinearLayout> |     </LinearLayout> | ||||||
| </androidx.constraintlayout.widget.ConstraintLayout> | </androidx.constraintlayout.widget.ConstraintLayout> | ||||||
| @ -40,7 +40,7 @@ | |||||||
|     <LinearLayout |     <LinearLayout | ||||||
|         android:id="@+id/setting_training" |         android:id="@+id/setting_training" | ||||||
|         android:layout_width="match_parent" |         android:layout_width="match_parent" | ||||||
|         android:layout_height="220dp" |         android:layout_height="200dp" | ||||||
|         android:layout_marginTop="37dp" |         android:layout_marginTop="37dp" | ||||||
|         android:orientation="vertical" |         android:orientation="vertical" | ||||||
|         app:layout_constraintTop_toBottomOf="@+id/linearLayout" |         app:layout_constraintTop_toBottomOf="@+id/linearLayout" | ||||||
| @ -64,27 +64,22 @@ | |||||||
|                 android:id="@+id/del_set" |                 android:id="@+id/del_set" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_remove_24px" /> |                 app:srcCompat="@drawable/ic_remove_24px" /> | ||||||
| 
 | 
 | ||||||
|             <EditText |             <TextView | ||||||
|                 android:id="@+id/numbers_of_sets" |                 android:id="@+id/numbers_of_sets" | ||||||
|                 android:layout_width="3dp" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="38dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 android:ems="10" |                 android:text="0" | ||||||
|                 android:gravity="center" |                 android:textAlignment="center" | ||||||
|                 android:inputType="number" |                 android:textSize="34sp" /> | ||||||
|                 android:text="1" |  | ||||||
|                 android:textSize="26sp" /> |  | ||||||
| 
 | 
 | ||||||
|             <ImageView |             <ImageView | ||||||
|                 android:id="@+id/add_set" |                 android:id="@+id/add_set" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_add_24px" /> |                 app:srcCompat="@drawable/ic_add_24px" /> | ||||||
|         </LinearLayout> |         </LinearLayout> | ||||||
| @ -99,34 +94,29 @@ | |||||||
| 
 | 
 | ||||||
|         <LinearLayout |         <LinearLayout | ||||||
|             android:layout_width="match_parent" |             android:layout_width="match_parent" | ||||||
|             android:layout_height="wrap_content" |             android:layout_height="50dp" | ||||||
|             android:orientation="horizontal"> |             android:orientation="horizontal"> | ||||||
| 
 | 
 | ||||||
|             <ImageView |             <ImageView | ||||||
|                 android:id="@+id/del_res" |                 android:id="@+id/del_res" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_remove_24px" /> |                 app:srcCompat="@drawable/ic_remove_24px" /> | ||||||
| 
 | 
 | ||||||
|             <EditText |             <TextView | ||||||
|                 android:id="@+id/rest_sets" |                 android:id="@+id/rest_sets" | ||||||
|                 android:layout_width="3dp" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="39dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 android:ems="10" |                 android:text="0" | ||||||
|                 android:gravity="center" |                 android:textAlignment="center" | ||||||
|                 android:inputType="number" |                 android:textSize="34sp" /> | ||||||
|                 android:text="5" |  | ||||||
|                 android:textSize="26sp" /> |  | ||||||
| 
 | 
 | ||||||
|             <ImageView |             <ImageView | ||||||
|                 android:id="@+id/add_res" |                 android:id="@+id/add_res" | ||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="37dp" |                 android:layout_height="37dp" | ||||||
|                 android:layout_gravity="center" |  | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 app:srcCompat="@drawable/ic_add_24px" /> |                 app:srcCompat="@drawable/ic_add_24px" /> | ||||||
|         </LinearLayout> |         </LinearLayout> | ||||||
|  | |||||||
| @ -1,57 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" |  | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |  | ||||||
|     android:id="@+id/main" |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent" |  | ||||||
|     android:background="@drawable/gradient_purpure" |  | ||||||
|     tools:context=".History"> |  | ||||||
| 
 |  | ||||||
|     <TextView |  | ||||||
|         android:id="@+id/textView4" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:layout_marginTop="30dp" |  | ||||||
|         android:text="История тренировок" |  | ||||||
|         android:textAlignment="center" |  | ||||||
|         android:textSize="34sp" |  | ||||||
|         app:layout_constraintTop_toTopOf="parent" /> |  | ||||||
| 
 |  | ||||||
|     <LinearLayout |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="60dp" |  | ||||||
|         android:layout_marginBottom="35dp" |  | ||||||
|         android:orientation="horizontal" |  | ||||||
|         app:layout_constraintBottom_toBottomOf="parent" |  | ||||||
|         app:layout_constraintEnd_toEndOf="parent" |  | ||||||
|         app:layout_constraintStart_toStartOf="parent"> |  | ||||||
| 
 |  | ||||||
|         <Button |  | ||||||
|             android:id="@+id/btn_on_main" |  | ||||||
|             android:layout_width="150dp" |  | ||||||
|             android:layout_height="wrap_content" |  | ||||||
|             android:layout_gravity="center" |  | ||||||
|             android:layout_marginLeft="20dp" |  | ||||||
|             android:layout_marginRight="20dp" |  | ||||||
|             android:layout_weight="1" |  | ||||||
|             android:background="@drawable/green_gradient" |  | ||||||
|             android:text="на главную" |  | ||||||
|             android:textAlignment="center" |  | ||||||
|             android:textColor="@color/white" /> |  | ||||||
| 
 |  | ||||||
|         <Button |  | ||||||
|             android:id="@+id/btn_save" |  | ||||||
|             android:layout_width="150dp" |  | ||||||
|             android:layout_height="wrap_content" |  | ||||||
|             android:layout_gravity="center" |  | ||||||
|             android:layout_marginLeft="20dp" |  | ||||||
|             android:layout_marginRight="20dp" |  | ||||||
|             android:layout_weight="1" |  | ||||||
|             android:background="@drawable/green_gradient" |  | ||||||
|             android:text="Выбрать" |  | ||||||
|             android:textAlignment="center" |  | ||||||
|             android:textColor="@color/white" /> |  | ||||||
| 
 |  | ||||||
|     </LinearLayout> |  | ||||||
| </androidx.constraintlayout.widget.ConstraintLayout> |  | ||||||
| @ -8,29 +8,26 @@ | |||||||
|     tools:context=".MainActivity"> |     tools:context=".MainActivity"> | ||||||
| 
 | 
 | ||||||
|     <ImageView |     <ImageView | ||||||
|         android:id="@+id/imageView" |  | ||||||
|         android:layout_width="match_parent" |         android:layout_width="match_parent" | ||||||
|         android:layout_height="match_parent" |         android:layout_height="match_parent" | ||||||
|         android:scaleType="centerCrop" |         android:scaleType="centerCrop" | ||||||
|         android:src="@drawable/background_imagemain" |         android:src="@drawable/background_imagemain" | ||||||
|         app:layout_constraintBottom_toBottomOf="parent" |         app:layout_constraintBottom_toBottomOf="parent" | ||||||
|         app:layout_constraintEnd_toEndOf="parent" |         app:layout_constraintEnd_toEndOf="parent" | ||||||
|         app:layout_constraintHorizontal_bias="0.0" |  | ||||||
|         app:layout_constraintStart_toStartOf="parent" |         app:layout_constraintStart_toStartOf="parent" | ||||||
|         app:layout_constraintTop_toTopOf="parent" |         app:layout_constraintTop_toTopOf="parent" /> | ||||||
|         app:layout_constraintVertical_bias="0.0" /> |  | ||||||
| 
 | 
 | ||||||
|     <Button |     <Button | ||||||
|         android:id="@+id/settingsButton" |         android:id="@+id/settingsButton" | ||||||
|         android:layout_width="56dp" |         android:layout_width="48dp" | ||||||
|         android:layout_height="56dp" |         android:layout_height="48dp" | ||||||
|  |         android:background="@drawable/ic_settings" | ||||||
|  |         app:layout_constraintEnd_toEndOf="parent" | ||||||
|  |         app:layout_constraintTop_toTopOf="parent" | ||||||
|         android:layout_marginTop="16dp" |         android:layout_marginTop="16dp" | ||||||
|         android:layout_marginEnd="16dp" |         android:layout_marginEnd="16dp" | ||||||
|         android:background="@android:drawable/ic_menu_info_details" |  | ||||||
|         android:backgroundTint="@color/black" |  | ||||||
|         android:contentDescription="Настройки" |         android:contentDescription="Настройки" | ||||||
|         app:layout_constraintEnd_toEndOf="parent" |         android:backgroundTint="@color/black" /> | ||||||
|         app:layout_constraintTop_toTopOf="parent" /> |  | ||||||
| 
 | 
 | ||||||
|     <androidx.cardview.widget.CardView |     <androidx.cardview.widget.CardView | ||||||
|         android:id="@+id/startTrainingCardView" |         android:id="@+id/startTrainingCardView" | ||||||
| @ -96,29 +93,6 @@ | |||||||
|             android:background="@android:color/transparent" |             android:background="@android:color/transparent" | ||||||
|             android:text="История тренировок" |             android:text="История тренировок" | ||||||
|             android:textColor="@android:color/white" /> |             android:textColor="@android:color/white" /> | ||||||
| 
 |  | ||||||
|     </androidx.cardview.widget.CardView> |  | ||||||
| 
 |  | ||||||
|     <androidx.cardview.widget.CardView |  | ||||||
|         android:id="@+id/newTemplateCardView1" |  | ||||||
|         android:layout_width="350dp" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:layout_marginStart="32dp" |  | ||||||
|         android:layout_marginTop="100dp" |  | ||||||
|         android:layout_marginEnd="32dp" |  | ||||||
|         app:cardBackgroundColor="#80000000" |  | ||||||
|         app:cardCornerRadius="8dp" |  | ||||||
|         app:layout_constraintEnd_toEndOf="parent" |  | ||||||
|         app:layout_constraintStart_toStartOf="parent" |  | ||||||
|         app:layout_constraintTop_toBottomOf="@+id/templatesCardView"> |  | ||||||
| 
 |  | ||||||
|         <Button |  | ||||||
|             android:id="@+id/btn_exit" |  | ||||||
|             android:layout_width="match_parent" |  | ||||||
|             android:layout_height="48dp" |  | ||||||
|             android:background="@android:color/transparent" |  | ||||||
|             android:text="Закрыть приложение" |  | ||||||
|             android:textColor="@android:color/white" /> |  | ||||||
|     </androidx.cardview.widget.CardView> |     </androidx.cardview.widget.CardView> | ||||||
| 
 | 
 | ||||||
| </androidx.constraintlayout.widget.ConstraintLayout> | </androidx.constraintlayout.widget.ConstraintLayout> | ||||||
| @ -1,106 +1,65 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" |  | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |  | ||||||
|     android:layout_width="match_parent" |     android:layout_width="match_parent" | ||||||
|     android:layout_height="match_parent" |     android:layout_height="match_parent" | ||||||
|     android:orientation="vertical" |     android:orientation="vertical" | ||||||
|     android:padding="16dp" |     android:padding="16dp" | ||||||
|     android:background="@drawable/background_image2">  <!-- Добавили background --> |     android:background="@drawable/background_image2">  <!-- Добавили background --> | ||||||
| 
 | 
 | ||||||
|     <androidx.constraintlayout.widget.ConstraintLayout |     <TextView | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:text="Настройки" | ||||||
|  |         android:textSize="24sp" | ||||||
|  |         android:textStyle="bold" | ||||||
|  |         android:layout_marginBottom="16dp"/> | ||||||
|  | 
 | ||||||
|  |     <TextView | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:text="Таймер для тренировок" | ||||||
|  |         android:textSize="18sp" | ||||||
|  |         android:layout_marginBottom="8dp"/> | ||||||
|  | 
 | ||||||
|  |     <TextView | ||||||
|  |         android:id="@+id/versionTextView" | ||||||
|  |         android:layout_width="wrap_content" | ||||||
|  |         android:layout_height="wrap_content" | ||||||
|  |         android:text="Версия: 1.0" | ||||||
|  |         android:layout_marginBottom="16dp"/> | ||||||
|  | 
 | ||||||
|  |     <LinearLayout | ||||||
|         android:layout_width="match_parent" |         android:layout_width="match_parent" | ||||||
|         android:layout_height="match_parent"> |         android:layout_height="wrap_content" | ||||||
|  |         android:orientation="horizontal" | ||||||
|  |         android:gravity="center_vertical" | ||||||
|  |         android:layout_marginBottom="8dp"> | ||||||
| 
 | 
 | ||||||
|         <LinearLayout |         <TextView | ||||||
|             android:id="@+id/about_progr_layout" |             android:layout_width="0dp" | ||||||
|             android:layout_width="match_parent" |             android:layout_height="wrap_content" | ||||||
|             android:layout_height="450dp" |             android:layout_weight="1" | ||||||
|             android:layout_marginTop="35dp" |             android:text="Темная тема" | ||||||
|             android:orientation="vertical" |             android:textSize="16sp"/> | ||||||
|             app:layout_constraintTop_toTopOf="parent" |  | ||||||
|             tools:layout_editor_absoluteX="0dp"> |  | ||||||
| 
 | 
 | ||||||
|             <TextView |         <Switch | ||||||
|                 android:layout_width="wrap_content" |             android:id="@+id/darkModeSwitch" | ||||||
|                 android:layout_height="wrap_content" |             android:layout_width="wrap_content" | ||||||
|                 android:layout_gravity="center" |             android:layout_height="wrap_content"/> | ||||||
|                 android:layout_marginBottom="16dp" |  | ||||||
|                 android:text="О программе" |  | ||||||
|                 android:textAlignment="center" |  | ||||||
|                 android:textSize="24sp" |  | ||||||
|                 android:textStyle="bold" /> |  | ||||||
| 
 | 
 | ||||||
|             <TextView |     </LinearLayout> | ||||||
|                 android:layout_width="match_parent" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:layout_marginBottom="8dp" |  | ||||||
|                 android:text="Название приложения: Таймер для тренировок" |  | ||||||
|                 android:textSize="18sp" /> |  | ||||||
| 
 | 
 | ||||||
|             <TextView |     <Button | ||||||
|                 android:id="@+id/textView7" |         android:id="@+id/aboutButton" | ||||||
|                 android:layout_width="match_parent" |         android:layout_width="match_parent" | ||||||
|                 android:layout_height="wrap_content" |         android:layout_height="wrap_content" | ||||||
|                 android:layout_marginBottom="8dp" |         android:text="О программе" | ||||||
|                 android:text="Данное приложение поможет пользователю в организации своих тренировок." |         android:layout_marginBottom="8dp"/> | ||||||
|                 android:textSize="18sp" /> |  | ||||||
| 
 | 
 | ||||||
|             <TextView |     <Button | ||||||
|                 android:id="@+id/textView9" |         android:id="@+id/developersButton" | ||||||
|                 android:layout_width="match_parent" |         android:layout_width="match_parent" | ||||||
|                 android:layout_height="wrap_content" |         android:layout_height="wrap_content" | ||||||
|                 android:layout_marginBottom="8dp" |         android:text="Разработчики"/> | ||||||
|                 android:text="Оно поможет задавать количество подходов и упражнений, устанавливать время работы и отдыха, запускать последние 3 тренировки." |  | ||||||
|                 android:textSize="18sp" /> |  | ||||||
| 
 |  | ||||||
|             <TextView |  | ||||||
|                 android:id="@+id/textView12" |  | ||||||
|                 android:layout_width="match_parent" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:layout_marginBottom="8dp" |  | ||||||
|                 android:text="Можно задавать как интервалы для всех упражнений, так и для каждого отдельно, добавляя названия упражнений." |  | ||||||
|                 android:textSize="18sp" /> |  | ||||||
| 
 |  | ||||||
|             <TextView |  | ||||||
|                 android:id="@+id/versionTextView2" |  | ||||||
|                 android:layout_width="match_parent" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:layout_marginBottom="16dp" |  | ||||||
|                 android:text="При возникновении проблем обращаться на почту: stud179277@vyatsu.ru" /> |  | ||||||
| 
 |  | ||||||
|             <TextView |  | ||||||
|                 android:id="@+id/versionTextView" |  | ||||||
|                 android:layout_width="wrap_content" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:layout_marginBottom="16dp" |  | ||||||
|                 android:text="Версия: 1.0" /> |  | ||||||
|         </LinearLayout> |  | ||||||
| 
 |  | ||||||
|         <LinearLayout |  | ||||||
|             android:id="@+id/btn_layout" |  | ||||||
|             android:layout_width="match_parent" |  | ||||||
|             android:layout_height="100dp" |  | ||||||
|             android:layout_marginBottom="16dp" |  | ||||||
|             android:orientation="vertical" |  | ||||||
|             app:layout_constraintBottom_toBottomOf="parent" |  | ||||||
|             tools:layout_editor_absoluteX="0dp"> |  | ||||||
| 
 |  | ||||||
|             <Button |  | ||||||
|                 android:id="@+id/developersButton" |  | ||||||
|                 android:layout_width="match_parent" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:background="@drawable/blue_gradient" |  | ||||||
|                 android:text="Разработчики" /> |  | ||||||
| 
 |  | ||||||
|             <Button |  | ||||||
|                 android:id="@+id/btn_on_main" |  | ||||||
|                 android:layout_width="match_parent" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:layout_marginTop="10dp" |  | ||||||
|                 android:background="@drawable/blue_gradient" |  | ||||||
|                 android:text="На главную" /> |  | ||||||
|         </LinearLayout> |  | ||||||
|     </androidx.constraintlayout.widget.ConstraintLayout> |  | ||||||
| 
 | 
 | ||||||
| </LinearLayout> | </LinearLayout> | ||||||
| @ -69,9 +69,9 @@ | |||||||
|                 android:layout_height="match_parent" |                 android:layout_height="match_parent" | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 android:gravity="center" |                 android:gravity="center" | ||||||
|                 android:text="Подход  № " |                 android:text="Подход  №" | ||||||
|                 android:textAlignment="textEnd" |                 android:textAlignment="textEnd" | ||||||
|                 android:textColor="@color/black" |                 android:textColor="#D0CBCB" | ||||||
|                 android:textSize="34sp" /> |                 android:textSize="34sp" /> | ||||||
| 
 | 
 | ||||||
|             <TextView |             <TextView | ||||||
| @ -82,7 +82,7 @@ | |||||||
|                 android:gravity="center" |                 android:gravity="center" | ||||||
|                 android:text=" 1" |                 android:text=" 1" | ||||||
|                 android:textAlignment="viewStart" |                 android:textAlignment="viewStart" | ||||||
|                 android:textColor="@color/black" |                 android:textColor="#D0CBCB" | ||||||
|                 android:textSize="34sp" /> |                 android:textSize="34sp" /> | ||||||
|         </LinearLayout> |         </LinearLayout> | ||||||
| 
 | 
 | ||||||
| @ -96,9 +96,9 @@ | |||||||
|                 android:layout_width="wrap_content" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="match_parent" |                 android:layout_height="match_parent" | ||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 android:text="Упражнение  " |                 android:text="Упражнение" | ||||||
|                 android:textAlignment="textEnd" |                 android:textAlignment="textEnd" | ||||||
|                 android:textColor="@color/black" |                 android:textColor="#D0CBCB" | ||||||
|                 android:textSize="34sp" /> |                 android:textSize="34sp" /> | ||||||
| 
 | 
 | ||||||
|             <TextView |             <TextView | ||||||
| @ -108,12 +108,12 @@ | |||||||
|                 android:layout_weight="1" |                 android:layout_weight="1" | ||||||
|                 android:text=" 1" |                 android:text=" 1" | ||||||
|                 android:textAlignment="viewStart" |                 android:textAlignment="viewStart" | ||||||
|                 android:textColor="@color/black" |                 android:textColor="#D0CBCB" | ||||||
|                 android:textSize="34sp" /> |                 android:textSize="34sp" /> | ||||||
|         </LinearLayout> |         </LinearLayout> | ||||||
| 
 | 
 | ||||||
|         <TextView |         <TextView | ||||||
|             android:id="@+id/timerText" |             android:id="@+id/time" | ||||||
|             android:layout_width="163dp" |             android:layout_width="163dp" | ||||||
|             android:layout_height="153dp" |             android:layout_height="153dp" | ||||||
|             android:layout_gravity="center" |             android:layout_gravity="center" | ||||||
| @ -123,13 +123,13 @@ | |||||||
|             android:textSize="60sp" /> |             android:textSize="60sp" /> | ||||||
| 
 | 
 | ||||||
|         <TextView |         <TextView | ||||||
|             android:id="@+id/statusText" |             android:id="@+id/work" | ||||||
|             android:layout_width="match_parent" |             android:layout_width="match_parent" | ||||||
|             android:layout_height="70dp" |             android:layout_height="70dp" | ||||||
|             android:gravity="center" |             android:gravity="center" | ||||||
|             android:text="Работа" |             android:text="Работа" | ||||||
|             android:textAlignment="center" |             android:textAlignment="center" | ||||||
|             android:textColor="@color/black" |             android:textColor="#D0CBCB" | ||||||
|             android:textSize="34sp" /> |             android:textSize="34sp" /> | ||||||
| 
 | 
 | ||||||
|     </LinearLayout> |     </LinearLayout> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user