03.11.2023
parent
be10c582d1
commit
3310ed1ca6
|
@ -1 +1 @@
|
||||||
Реабилитация
|
Rehabilitation
|
|
@ -7,11 +7,11 @@
|
||||||
<deviceKey>
|
<deviceKey>
|
||||||
<Key>
|
<Key>
|
||||||
<type value="VIRTUAL_DEVICE_PATH" />
|
<type value="VIRTUAL_DEVICE_PATH" />
|
||||||
<value value="C:\Users\maksi\.android\avd\Pixel_5_API_29.avd" />
|
<value value="C:\Users\maksi\.android\avd\Pixel_7_Edited_API_29.avd" />
|
||||||
</Key>
|
</Key>
|
||||||
</deviceKey>
|
</deviceKey>
|
||||||
</Target>
|
</Target>
|
||||||
</targetSelectedWithDropDown>
|
</targetSelectedWithDropDown>
|
||||||
<timeTargetWasSelectedWithDropDown value="2023-08-22T15:06:26.067415300Z" />
|
<timeTargetWasSelectedWithDropDown value="2023-11-01T08:15:09.629698400Z" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
|
@ -8,7 +8,7 @@
|
||||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
<option name="gradleHome" value="$PROJECT_DIR$/../../../../Gradle/gradle-8.2" />
|
<option name="gradleHome" value="$PROJECT_DIR$/../../../../Gradle/gradle-8.2" />
|
||||||
<option name="gradleJvm" value="Android Studio default JDK" />
|
<option name="gradleJvm" value="jbr-17" />
|
||||||
<option name="modules">
|
<option name="modules">
|
||||||
<set>
|
<set>
|
||||||
<option value="$PROJECT_DIR$" />
|
<option value="$PROJECT_DIR$" />
|
||||||
|
@ -17,5 +17,6 @@
|
||||||
</option>
|
</option>
|
||||||
</GradleProjectSettings>
|
</GradleProjectSettings>
|
||||||
</option>
|
</option>
|
||||||
|
<option name="offlineMode" value="true" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
|
@ -1,6 +1,6 @@
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectType">
|
<component name="ProjectType">
|
||||||
|
|
|
@ -41,15 +41,9 @@ dependencies {
|
||||||
implementation 'androidx.room:room-ktx:2.5.2'
|
implementation 'androidx.room:room-ktx:2.5.2'
|
||||||
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.1'
|
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.1'
|
||||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1'
|
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1'
|
||||||
|
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.6.1"
|
||||||
|
|
||||||
implementation platform('com.google.firebase:firebase-bom:31.2.0')
|
|
||||||
implementation 'com.google.firebase:firebase-database-ktx:20.2.2'
|
|
||||||
implementation 'com.google.firebase:firebase-auth-ktx:22.1.0'
|
|
||||||
implementation 'com.google.firebase:firebase-analytics'
|
|
||||||
implementation 'com.google.firebase:firebase-messaging'
|
|
||||||
implementation 'com.google.firebase:firebase-messaging-ktx:23.2.0'
|
|
||||||
|
|
||||||
kapt 'androidx.room:room-compiler:2.5.2'
|
|
||||||
implementation 'androidx.fragment:fragment-ktx:1.5.5'
|
implementation 'androidx.fragment:fragment-ktx:1.5.5'
|
||||||
|
|
||||||
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.1.17'
|
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.1.17'
|
||||||
|
@ -67,17 +61,22 @@ dependencies {
|
||||||
implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.2.3'
|
implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.2.3'
|
||||||
implementation group: 'org.apache.poi', name: 'poi', version: '5.2.3'
|
implementation group: 'org.apache.poi', name: 'poi', version: '5.2.3'
|
||||||
|
|
||||||
//Календарь
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
|
||||||
// implementation 'com.github.appmonkey8010:amcalendar:[RELEASE]' //e.g.: 1.0.0
|
implementation 'com.kizitonwose.calendar:view:2.0.0'
|
||||||
//implementation 'ru.cleverpumpkin:crunchycalendar:2.6.0'
|
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.6.1"
|
||||||
//implementation 'com.applandeo:material-calendar-view:1.9.0-rc03'
|
|
||||||
//implementation 'com.github.tejpratap46:RecyclerCalendarAndroid:LATEST_RELEASE_TAG'
|
//Retrofit
|
||||||
//implementation 'com.github.tejpratap46:RecyclerCalendarAndroid:LATEST_RELEASE_TAG'
|
implementation "com.squareup.retrofit2:retrofit:2.9.0"
|
||||||
|
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
|
||||||
|
|
||||||
|
//OkHttp
|
||||||
|
implementation "com.squareup.okhttp3:logging-interceptor:4.7.2"
|
||||||
|
implementation "com.squareup.okhttp3:okhttp:4.7.2"
|
||||||
|
|
||||||
|
implementation 'com.squareup.picasso:picasso:2.71828'
|
||||||
|
|
||||||
|
|
||||||
//implementation 'com.sun.mail:android-mail:1.6.2'
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
|
||||||
//implementation 'com.sun.mail:android-activation:1.6.2'
|
implementation 'com.kizitonwose.calendar:view:2.0.0'
|
||||||
//implementation 'com.archit.calendar:awesome-calendar:2.0.0'
|
|
||||||
//implementation 'com.andrewjapar.rangedatepicker:rangedatepicker:0.3'
|
|
||||||
|
|
||||||
}
|
}
|
Binary file not shown.
|
@ -31,12 +31,8 @@
|
||||||
android:usesCleartextTraffic="true"
|
android:usesCleartextTraffic="true"
|
||||||
tools:targetApi="31">
|
tools:targetApi="31">
|
||||||
<activity
|
<activity
|
||||||
android:name=".InformationActivity"
|
android:name=".Information.InformationActivity"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
<activity
|
|
||||||
android:name=".Auth.AuthDoctorActivity"
|
|
||||||
android:exported="false" />
|
|
||||||
|
|
||||||
<provider
|
<provider
|
||||||
android:name="androidx.core.content.FileProvider"
|
android:name="androidx.core.content.FileProvider"
|
||||||
android:authorities="${applicationId}.provider"
|
android:authorities="${applicationId}.provider"
|
||||||
|
@ -48,19 +44,12 @@
|
||||||
</provider>
|
</provider>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".Admin.activityAdmin.FeedbackActivity"
|
android:name=".Feedback.FeedbackActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".Admin.activityAdmin.StatisticsActivity"
|
android:name=".Setting.SettingActivity"
|
||||||
android:exported="false"
|
|
||||||
android:screenOrientation="portrait" />
|
|
||||||
<activity
|
|
||||||
android:name=".Admin.activityAdmin.UserSettingActivity"
|
|
||||||
android:exported="false"
|
|
||||||
android:screenOrientation="portrait" />
|
|
||||||
<activity
|
|
||||||
android:name=".SettingActivity"
|
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
<activity
|
<activity
|
||||||
|
|
Binary file not shown.
|
@ -1,70 +0,0 @@
|
||||||
package com.example.rehabilitation.Admin.activityAdmin
|
|
||||||
|
|
||||||
import android.content.Intent
|
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Bundle
|
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import com.example.rehabilitation.MainActivity
|
|
||||||
import com.example.rehabilitation.databinding.ActivityFeedbackBinding
|
|
||||||
|
|
||||||
class FeedbackActivity : AppCompatActivity() {
|
|
||||||
var backPressedTime: Long = 0
|
|
||||||
private lateinit var binding: ActivityFeedbackBinding
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
binding = ActivityFeedbackBinding.inflate(layoutInflater)
|
|
||||||
setContentView(binding.root)
|
|
||||||
|
|
||||||
//Выход
|
|
||||||
binding.btnExit.setOnClickListener{
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
|
|
||||||
//Переход по ссылке на сайт
|
|
||||||
binding.txtUrlVmeda.setOnClickListener{
|
|
||||||
val i = Intent(Intent.ACTION_VIEW, Uri.parse("https://www.vmeda.org/"))
|
|
||||||
startActivity(i)
|
|
||||||
}
|
|
||||||
//
|
|
||||||
// //Переход на почту
|
|
||||||
// binding.txtEmailDoctor.setOnClickListener{
|
|
||||||
// val intent = Intent(Intent.ACTION_SEND)
|
|
||||||
// intent.data = Uri.parse("mailto:")
|
|
||||||
// intent.type = "text/plain"
|
|
||||||
// intent.putExtra(Intent.EXTRA_EMAIL, arrayOf(binding.txtEmailDoctor.text.toString()))// herer adresses is already string
|
|
||||||
//
|
|
||||||
// try{
|
|
||||||
// startActivity(Intent.createChooser(intent,"Choose Email Client..."))
|
|
||||||
// }
|
|
||||||
// catch (e:Exception){
|
|
||||||
// Toast.makeText(this,e.message, Toast.LENGTH_LONG).show()
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// //Номер врача
|
|
||||||
// binding.txtNumberDoctor.setOnClickListener{
|
|
||||||
// val intent = Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + binding.txtNumberDoctor.text.toString()))
|
|
||||||
// startActivity(intent)
|
|
||||||
// }
|
|
||||||
|
|
||||||
//Номер регистратуры
|
|
||||||
binding.txtNumberRegister.setOnClickListener{
|
|
||||||
val intent = Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + "+78122923286"))
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
|
|
||||||
//Номер ДМС
|
|
||||||
binding.txtNumberDMS.setOnClickListener{
|
|
||||||
val intent = Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + "+78122923412"))
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onBackPressed() {
|
|
||||||
val intetn = Intent(this, MainActivity::class.java)
|
|
||||||
startActivity(intetn)
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
package com.example.rehabilitation.Admin.activityAdmin
|
|
||||||
|
|
||||||
import android.content.Intent
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import android.os.Bundle
|
|
||||||
import com.example.rehabilitation.MainActivity
|
|
||||||
import com.example.rehabilitation.R
|
|
||||||
import com.example.rehabilitation.databinding.ActivityFeedbackBinding
|
|
||||||
|
|
||||||
class StatisticsActivity : AppCompatActivity() {
|
|
||||||
var backPressedTime: Long = 0
|
|
||||||
private lateinit var binding: ActivityFeedbackBinding
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
binding = ActivityFeedbackBinding.inflate(layoutInflater)
|
|
||||||
setContentView(binding.root)
|
|
||||||
|
|
||||||
//Выход
|
|
||||||
binding.btnExit.setOnClickListener{
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onBackPressed() {
|
|
||||||
val intetn = Intent(this, MainActivity::class.java)
|
|
||||||
startActivity(intetn)
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,398 +0,0 @@
|
||||||
package com.example.rehabilitation.Admin.activityAdmin
|
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.content.SharedPreferences
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import android.os.Bundle
|
|
||||||
import android.util.Log
|
|
||||||
import android.view.View
|
|
||||||
import android.widget.EditText
|
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.activity.viewModels
|
|
||||||
import androidx.appcompat.app.AlertDialog
|
|
||||||
import androidx.lifecycle.LifecycleOwner
|
|
||||||
import androidx.lifecycle.asLiveData
|
|
||||||
import androidx.recyclerview.widget.GridLayoutManager
|
|
||||||
import com.example.admin.Toast.showCustomInfoToast
|
|
||||||
import com.example.admin.Toast.showCustomNiceToast
|
|
||||||
import com.example.rehabilitation.Admin.fragmrntAdmin.SettingDoctor.MainSettingDoctorFragment
|
|
||||||
import com.example.rehabilitation.Auth.AuthorizationActivity
|
|
||||||
import com.example.rehabilitation.FIO
|
|
||||||
import com.example.rehabilitation.MainActivity
|
|
||||||
import com.example.rehabilitation.R
|
|
||||||
|
|
||||||
import com.example.rehabilitation.SettingActivity
|
|
||||||
import com.example.rehabilitation.countCategory
|
|
||||||
import com.example.rehabilitation.databinding.ActivityUserSettingBinding
|
|
||||||
import com.example.rehabilitation.Room.Item
|
|
||||||
import com.example.rehabilitation.Room.ItemDaySport
|
|
||||||
import com.example.rehabilitation.Room.ItemImage
|
|
||||||
import com.example.rehabilitation.Room.ItemSportCategory
|
|
||||||
import com.example.rehabilitation.Room.MainDB
|
|
||||||
import com.example.rehabilitation.Room.dbUser.dbPatient.ItemPatient
|
|
||||||
import com.example.rehabilitation.User.fragmentUser.HomeFragment
|
|
||||||
import com.example.rehabilitation.UserDoctorToken
|
|
||||||
import com.example.rehabilitation.counter2
|
|
||||||
import com.example.rehabilitation.model_adapter.Day.DayAdapter
|
|
||||||
import com.example.rehabilitation.model_adapter.Day.DayListModel
|
|
||||||
import com.example.rehabilitation.model_adapter.Doctor.DoctorModel
|
|
||||||
import com.example.rehabilitation.model_adapter.Edit.EditSportAdapter
|
|
||||||
import com.example.rehabilitation.model_adapter.Edit.EditSportModel
|
|
||||||
import com.example.rehabilitation.model_adapter.Image.Category.CountNameCategoryModel
|
|
||||||
import com.example.sqlitework.dip.MainViewModel
|
|
||||||
import com.example.rehabilitation.model_adapter.Month.MonthModel
|
|
||||||
import com.example.rehabilitation.model_adapter.Month.MonthAdapter
|
|
||||||
import com.example.rehabilitation.model_adapter.Patient.PatientModel
|
|
||||||
import com.example.rehabilitation.prefDoctor
|
|
||||||
import com.example.rehabilitation.prefFIO
|
|
||||||
import com.example.rehabilitation.prefUserDoctorToken
|
|
||||||
import com.example.rehabilitation.questionnaire_before
|
|
||||||
import com.example.rehabilitation.tokenClassDoctor
|
|
||||||
|
|
||||||
import java.time.LocalDate
|
|
||||||
|
|
||||||
class UserSettingActivity : AppCompatActivity(), MonthAdapter.Listener, DayAdapter.Listener,EditSportAdapter.Listener,EditSportAdapter.ListenerEdit {
|
|
||||||
var backPressedTime: Long = 0
|
|
||||||
private lateinit var binding: ActivityUserSettingBinding
|
|
||||||
private val model: MainViewModel by viewModels()//Инициализировали класс
|
|
||||||
lateinit var adapterMonth: MonthAdapter
|
|
||||||
lateinit var adapterDay: DayAdapter
|
|
||||||
lateinit var editAdapter: EditSportAdapter
|
|
||||||
|
|
||||||
var loginPatient = ""
|
|
||||||
var loginDoctor = ""
|
|
||||||
var prefSport: SharedPreferences? = null
|
|
||||||
var SportUserTrue = 0
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
binding = ActivityUserSettingBinding.inflate(layoutInflater)
|
|
||||||
setContentView(binding.root)
|
|
||||||
//Вывод фрагмента на активити при первоначальной загрузке
|
|
||||||
supportFragmentManager.beginTransaction().replace(R.id.CLMainSettinDoctor, MainSettingDoctorFragment.newInstance()).commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
|
||||||
|
|
||||||
prefUserDoctorToken = getSharedPreferences("UserDoctorToken", Context.MODE_PRIVATE)
|
|
||||||
UserDoctorToken = prefUserDoctorToken?.getString("userdoctortoken", "")!! //Передаем при запуске страницы в counter данные по ключевому слову "counter", вс лучае если будет пусто то передастся 0
|
|
||||||
|
|
||||||
prefFIO = getSharedPreferences("FIO", Context.MODE_PRIVATE)
|
|
||||||
FIO = prefFIO?.getString("fio", "")!!
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onDestroy() {
|
|
||||||
super.onDestroy()
|
|
||||||
clearUserDoctorToken()
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
//Функция очистки данных
|
|
||||||
fun clearUserDoctorToken() {
|
|
||||||
val edit = prefUserDoctorToken?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
UserDoctorToken = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
fun saveFIO(fio: String) {
|
|
||||||
val edit = prefFIO?.edit()
|
|
||||||
edit?.putString("fio", fio)
|
|
||||||
edit?.apply()
|
|
||||||
FIO = fio
|
|
||||||
}
|
|
||||||
fun clearFIO() {
|
|
||||||
val edit = prefFIO?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
FIO = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onBackPressed() {
|
|
||||||
val intetn = Intent(this, SettingActivity::class.java)
|
|
||||||
startActivity(intetn)
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onClickExceptionOrder(item: MonthModel) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Спина
|
|
||||||
val c1 = arrayOf("c1_1", "c1_2")
|
|
||||||
val c2 = arrayOf("c2_1", "c2_2")
|
|
||||||
val c3 = arrayOf("c3_1", "c3_2")
|
|
||||||
val c4 = arrayOf("c4_1", "c4_2")
|
|
||||||
val c5 = arrayOf("c5_1", "c5_2")
|
|
||||||
val c6 = arrayOf("c6_1", "c6_2", "c6_3")
|
|
||||||
val c7 = arrayOf("c7_1")
|
|
||||||
val c8 = arrayOf("c8_1", "c8_2")
|
|
||||||
val c9 = arrayOf("c9_1", "c9_2", "c9_3")
|
|
||||||
val c10 = arrayOf("c10_1", "c10_2", "c10_3")
|
|
||||||
val c11 = arrayOf("c11_1")
|
|
||||||
val c12 = arrayOf("c12_1", "c12_2")
|
|
||||||
val c13 = arrayOf("c13_1", "c13_2")
|
|
||||||
val c14 = arrayOf("c14_1", "c14_2")
|
|
||||||
val c15 = arrayOf("c15_1", "c15_2")
|
|
||||||
val c16 = arrayOf("c16_1", "c16_2")
|
|
||||||
val c17 = arrayOf("c17_1", "c17_2")
|
|
||||||
val c18 = arrayOf("c18_1", "c18_2", "c18_3")
|
|
||||||
|
|
||||||
//Бок
|
|
||||||
val b1 = arrayOf("b1_1", "b1_2")
|
|
||||||
val b2 = arrayOf("b2_1", "b2_2")
|
|
||||||
val b3 = arrayOf("b3_1", "b3_2", "b3_3")
|
|
||||||
val b4 = arrayOf("b4_1", "b4_2")
|
|
||||||
|
|
||||||
//Живот
|
|
||||||
val j1 = arrayOf("j1_1", "j1_2")
|
|
||||||
val j2 = arrayOf("j2_1", "j2_2")
|
|
||||||
val j3 = arrayOf("j3_1", "j3_2")
|
|
||||||
val j4 = arrayOf("j4_1", "j4_2", "j4_3")
|
|
||||||
val j5 = arrayOf("j5_1")
|
|
||||||
val j6 = arrayOf("j6_1", "j6_2", "j6_3", "j6_4")
|
|
||||||
val j7 = arrayOf("j7_1", "j7_2", "j7_3", "j7_4", "j7_5", "j7_6", "j7_7")
|
|
||||||
val j8 = arrayOf("j8_1", "j8_2", "j8_3")
|
|
||||||
val j9 = arrayOf("j9_1")
|
|
||||||
val j10 = arrayOf("j10_1", "j10_2", "j10_3")
|
|
||||||
val j11 = arrayOf("j11_1", "j11_2", "j11_3", "j11_4")
|
|
||||||
val j12 = arrayOf("j12_1", "j12_2")
|
|
||||||
|
|
||||||
val C1 = "Исходное положение, положить руки вверх.\n" +
|
|
||||||
"Счет \n" +
|
|
||||||
"1-2-3 - потянуться руками вверх, а пятками — в противоположную сторону;\n" +
|
|
||||||
"4 – Расслабиться\n" +
|
|
||||||
"Повторить 5—6 раз. Дыхание свободное.\n"
|
|
||||||
val C2 = "Исходное положение, руки лежат под головой или направлены вниз, вдоль туловища.\n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 - поднять одну прямую ногу на 45°;\n" +
|
|
||||||
"2-3 - удерживать ее;\n" +
|
|
||||||
"4 - опустить в исходное положение.\n" +
|
|
||||||
"То же повторить с другой ноги. С каждой ноги повторить по 4—б раз. Дыхание свободное.\n"
|
|
||||||
val C3 = "Исходное положение, руки лежат вверху.\n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 - поднять вперед прямые правую руку и левую ногу; \n" +
|
|
||||||
"2- опустить их в исходное положение;\n" +
|
|
||||||
"3 - поднять вперед левую руку и правую ногу;\n" +
|
|
||||||
"4 - вернуться в исходное положение.\n" +
|
|
||||||
"Повторить 4-6 раз с каждой стороны, опустить их в исходное положение;\n"
|
|
||||||
val C4 = "Исходное положение, руки лежат под головой или направлены вниз, вдоль туловища.\n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 – напрячь оба бедра, как при выпрямлении колена;\n" +
|
|
||||||
"2-3 – удерживать в напряжении;\n" +
|
|
||||||
"4 - расслабиться.\n" +
|
|
||||||
"Повторить 6-10 раз. Дыхание произвольное. При ампутации на уровне голени можно подложить под нижнюю треть бедра валик, если есть сгибательная контрактура колена, или если пациент так лучше ощущает работу мышц.\n"
|
|
||||||
val C5 =
|
|
||||||
"Исходное положение, руки лежат вниз вдоль туловища, под культю и под аналогичный сегмент сохранной конечности подложить мячи. \n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 — опереться на ноги, поднять таз вверх;\n" +
|
|
||||||
"2-3 — удерживать это положение;\n" +
|
|
||||||
"4 — опуститься в исходное положение. \n" +
|
|
||||||
"Повторить 4-8 раз. Дыхание произвольное, или подъем таза осуществлять на выдохе через рот, губы сложены «трубочкой».\n"
|
|
||||||
val C6 =
|
|
||||||
"Исходное положение, руки лежат вниз вдоль туловища, под культю и под аналогичный сегмент сохранной конечности подложить мячи. \n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 — опереться на ноги и поднять таз вверх;\n" +
|
|
||||||
" 2 — поднять одну прямую ногу вверх на 30°—45% \n" +
|
|
||||||
"3 — опустить ногу на мяч;\n" +
|
|
||||||
" 4 — опустить таз и вернуться в исходное положение. Повторить упражнение по 4-8 раз с каждой ноги. Дыхание произвольное. При значительных трудностях с удержанием баланса на мячах данное упражнение можно выполнять на валике или любых стабильных опорах.\n"
|
|
||||||
val C7 = "Дыхательное упражнение — диафрагмальное дыхание. \n" +
|
|
||||||
"Сохранную ногу поставить согнутую, вторая нога или свободно лежит на полу, или бедро закинуто на другое бедро (фото), одна ладонь лежит на животе, а другая — на груди. На вдох носом надуть животом «шарик», на выдох через рот опустить переднюю стенку живота (и втянуть ее) и расслабиться. \n" +
|
|
||||||
"Повторить дыхательный цикл не более 4-6 раз. Дышать глубоко, в комфортном темпе.\n"
|
|
||||||
val C8 =
|
|
||||||
"Исходное положение, руки лежат вниз вдоль туловища, под ноги подложен большой гимнастический мяч.\n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 – упереться ногами в мяч, поднять таз вверх;\n" +
|
|
||||||
"2-3 — удерживать это положение;\n" +
|
|
||||||
"4 - опустить таз и вернуться B исходное положение.\n" +
|
|
||||||
"Дыхание произвольное. Повторить упражнение 6-8 раз.\n"
|
|
||||||
val C9 =
|
|
||||||
"Исходное положение, руки лежат вниз вдоль туловища, под ноги подложен большой гимнастический мяч. \n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 - поднять таз с опорой на обе ноги;\n" +
|
|
||||||
"2 - поднять сохранную ногу вверх от опоры и остаться стоять на одной культе;\n" +
|
|
||||||
"3 - опустить на опору сохранную ногу;\n" +
|
|
||||||
"4 - опустить таз и вернуться в исходное положение. Повторить упражнение для каждой ноги по 4—6 раз. Дыхание произвольное.\n"
|
|
||||||
val C10 =
|
|
||||||
"Исходное положение, руки лежат вниз вдоль туловища или под головой (усложненный вариант). \n" +
|
|
||||||
"Имитация велосипедных движений. По 6-10 движений сначала одной ногой, затем второй. Усложненный вариант упражнения (фото) — выполнение упражнения одновременно двумя ногами.\n" +
|
|
||||||
"Сначала движение ногами выполняется в направлении движения вперед, а затем — назад. \n" +
|
|
||||||
"Следить за дыханием и за тем, чтобы поясница была прижата к полу.\n"
|
|
||||||
val C11 = "Дыхательное упражнение — диафрагмальное дыхание.\n" +
|
|
||||||
"Повторить дыхательный цикл не более 4-6 раз. В необходимости повторения дыхательного упражнения — ориентироваться на самочувствие пациента.\n"
|
|
||||||
val C12 =
|
|
||||||
"Исходное положение, руки вытянуты перед собой, B руках — резиновая лента-амортизатор.\n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 - развести в стороны прямые руки и коснуться кулачками пола, свести лопатки;\n" +
|
|
||||||
"2-3 — удерживать это положение;\n" +
|
|
||||||
"4 — свести руки перед собой и вернуться в исходное положение.\n" +
|
|
||||||
"При выполнении упражнения акцент делать на сведение лопаток в момент растяжения резинового амортизатора.\n"
|
|
||||||
val C13 =
|
|
||||||
"Исходное положение, в руках — резиновый амортизатор; одна рука лежит вниз вдоль туловища, вторая согнута в локте на 90° и отведена от туловища (локоть на уровне плеча), ее плечо лежит на полу. \n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 - не разгибая локтя, разворачивая лопатку, положить кисть согнутой руки на пол;\n" +
|
|
||||||
"2-3 — удерживать это положение;\n" +
|
|
||||||
"4 - вернуться в исходное положение. Повторить 10—15-20 раз. Не меняя длины хвата амортизатора, повторить с другой руки. Дыхание произвольное.\n"
|
|
||||||
val C14 =
|
|
||||||
"Исходное положение, поставить руки B упоре на локти, немного отведя их от туловища.\n" +
|
|
||||||
"1 - надавить локтями на пол, свести лопатки прогнуть грудную клетку;\n" +
|
|
||||||
"2-3 — удерживать это напряжение;\n" +
|
|
||||||
"4 - расслабиться и вернуться в исходное положение \n" +
|
|
||||||
"Повторить 4-8 раз. Дыхание ровное, без задержек.\n"
|
|
||||||
val C15 =
|
|
||||||
"Исходное положение, на бедра надета резиновая петля, ногу со стороны ампутации ротировать внутрь (cкосолапить). \n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 - скользя по поверхности, отвести ногу со стороны ампутации в сторону; \n" +
|
|
||||||
"2-3 - удерживать ногу в этом положении;\n" +
|
|
||||||
"4 - вернуть ногу в исходное положение.\n" +
|
|
||||||
"Повторить упражнение 10-15-20 раз.\n" +
|
|
||||||
"Повторить 10-15-20 раз. После короткого отдыха сделать второй подход. Дыхание произвольное. Следить, чтобы мышцы плечевого пояса не вовлекались в напряжение, а таз оставался неподвижным. Для улучшения самоконтроля можно руки ставить на пояс и таким 0бразом следить за неподвижностью таза.\n"
|
|
||||||
val C16 = "Исходное положение, бедрами удерживать мяч.\n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 - сжать мяч между бедрами; \n" +
|
|
||||||
"2-3 - удерживать это положение; \n" +
|
|
||||||
"4 - расслабиться.\n" +
|
|
||||||
"Повторить упражнение 10-15-20 раз. \n" +
|
|
||||||
"Со временем возможно усложнение упражнения: удерживать сжатие не на счет 2-3, а на 2-3-4-5-6-7, и только на счет 8 — расслабиться. Дыхание произвольное. Следить, чтобы мышцы плечевого пояса не вовлекались B напряжение, и пациент не затаивал дыхание.\n"
|
|
||||||
val C17 =
|
|
||||||
"Исходное положение, руки лежат под головой, на ногу со стороны ампутации надета манжета-утяжелитель.\n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 - поднять прямую ногу на 45°; \n" +
|
|
||||||
"2-3 - удерживать ногу в этом положении; \n" +
|
|
||||||
"4 - опустить ногу и вернуться в исходное положение. \n" +
|
|
||||||
"Повторить 10—15—20 раз.\n" +
|
|
||||||
"Усложнение упражнения:\n" +
|
|
||||||
"1 - поднять ногу; \n" +
|
|
||||||
"2-3-4-5-6-7 - держать ногу; \n" +
|
|
||||||
"8 - опустить ногу и вернуться в исходное положение.\n" +
|
|
||||||
"Со временем можно выполнять два подхода к упражнению.\n"
|
|
||||||
val C18 =
|
|
||||||
"Исходное положение, руки лежат под головой, на ногу со стороны ампутации надета манжета-утяжелитель. \n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 - поднять прямую ногу на 45°;\n" +
|
|
||||||
"2 - согнуть ногу в бедре и колене до 90°; \n" +
|
|
||||||
"3 - выпрямить ногу обратно; \n" +
|
|
||||||
"4 - опустить ногу и вернуться в исходное положение. \n" +
|
|
||||||
"Повторить упражнение 10—15 раз. \n" +
|
|
||||||
"Усложнение упражнения: \n" +
|
|
||||||
"сгибание и разгибание колена и бедра можно осуществлять не один, а несколько раз подряд, и только потом. опускать ногу. Также можно делать имитацию велосипедных движений вперед, а потом B обратную сторону. \n" +
|
|
||||||
"Со временем весь комплекс упражнений можно выполнять с утяжелителем в постоянном режиме. Со стороны ампутации делать больше подходов и количество повторений предлагаемых упражнений.\n"
|
|
||||||
|
|
||||||
val B1 = "Исходное положение. \n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 - поднять верхнюю ногу на 10—35° точно в сторону;\n" +
|
|
||||||
"2-3 - удерживать это положение; \n" +
|
|
||||||
"4 - опустить ногу в исходное положение. \n" +
|
|
||||||
"Повторить упражнение 10—15-20 раз и положить согнутую ногу вперед — для растяжки и отдыха мышц. Во время выполнения упражнения следить за точностью направления движения — отведения.\n"
|
|
||||||
val B2 = "Исходное положение, верхняя нога согнута в колене и лежит впереди. \n" +
|
|
||||||
"Счет \n" +
|
|
||||||
"1 - поднять прямую нижнюю ногу точно вверх (приведение), стопу тянуть на себя;\n" +
|
|
||||||
"2-3 - удерживать ногу в верхней точке.\n" +
|
|
||||||
"4 - опустить ногу в исходное положение \n" +
|
|
||||||
"Повторить 10—15-20 раз. Следить за тем, чтобы нога не уходила вперед или назад, колено было всегда выпрямлено. Дыхание произвольное.\n"
|
|
||||||
val B3 = "Исходное положение. \n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 — поднять верхнюю ногу на 10—35° точно в сторону; \n" +
|
|
||||||
"2 — согнуть в колене, не смещая бедро; \n" +
|
|
||||||
"3 — выпрямить колено, не смещая бедро; \n" +
|
|
||||||
"4 — опустить ногу в исходное положение. \n" +
|
|
||||||
"Повторить 10—15—20 раз. Дыхание произвольное. \n" +
|
|
||||||
"Повторяйте те же упражнения, лежа на другом боку.\n"
|
|
||||||
val B4 = "Исходное положение, на уровне бедра надета манжета с утяжелителем. \n" +
|
|
||||||
"Счет \n" +
|
|
||||||
"1 - поднять верхнюю ногу на 10—35° точно в сторону; \n" +
|
|
||||||
"2-3 — удерживать это положение \n" +
|
|
||||||
"4 - опустить ногу в исходное положение.\n" +
|
|
||||||
"Повторить 10—15-20 раз и положить согнутую ногу вперед для отдыха. Следить за точностью направления движения (отведение). \n" +
|
|
||||||
"Подобным образом — с утяжелителем — можно выполнять все упражнения в исходном положении лежа на боку.\n"
|
|
||||||
|
|
||||||
|
|
||||||
val J1 = "Исходное положение, руки лежат под головой, опираясь на лоб. \n" +
|
|
||||||
"1 - поднять плечевой пояс, руки и голову; \n" +
|
|
||||||
"2-3 - удерживать это положение;\n" +
|
|
||||||
"4 — опуститься в исходное положение и расслабиться. Повторить упражнение 6-10 раз. Следить за дыханием. \n" +
|
|
||||||
"Можно при подъеме туловища сводить лопатки, приводя локти к туловищу на все время удержания корпуса.\n"
|
|
||||||
val J2 = "Исходное положение, руки лежат под головой, голова опирается на лоб. \n" +
|
|
||||||
"1 - поднять правую прямую ногу вверх;\n" +
|
|
||||||
"2-3 - удерживать ногу; 4 - опустить ногу в исходное положение. \n" +
|
|
||||||
"С каждой стороны повторить упражнение по 6-10 раз. Следить за дыханием.\n"
|
|
||||||
val J3 = "Исходное положение, ноги лежат чуть шире плеч, руки под головой. \n" +
|
|
||||||
"1 — поднять плечевой пояс, руки и голову, и развести руки в стороны (ладонями вперед); \n" +
|
|
||||||
"2-3 — удерживать это положение;\n" +
|
|
||||||
"4 - опуститься в исходное положение. \n" +
|
|
||||||
"Повторить упражнение 6-10 раз. \n" +
|
|
||||||
"Усложнение: \n" +
|
|
||||||
"можно одновременно с подъемом корпуса поднимать поочередно то одну HOTY, то другую, или две ноги одновременно (фото). Следить за дыханием.\n"
|
|
||||||
val J4 = "Исходное положение, руки лежат наверху, голова опирается на лоб. \n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 — поднять вверх одновременно прямые правую руку и левую ногу; \n" +
|
|
||||||
"2-3 - удерживать это положение; \n" +
|
|
||||||
"4 — опуститься в исходное положение. \n" +
|
|
||||||
"С каждой стороны повторить упражнение по 4-8 раз. Следить за дыханием.\n"
|
|
||||||
val J5 =
|
|
||||||
"Дыхательное упражнение. Исходное положение, голова опирается на лоб, руки под толовой. Глубокий вдох HOCOM, долгий выдох через рот, губы сложены «трубочкой». Повторить 4-6 раз.\n"
|
|
||||||
val J6 = "Исходное положение, голова опирается на лоб. Рисуем ногой медленно букву «П».\n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 – поднять прямую правую ногу вверх;\n" +
|
|
||||||
"2 – отвести eё B сторону на 30°;\n" +
|
|
||||||
"3 – опустить ногу в стороне на пол;\n" +
|
|
||||||
"4 – поднять правую ногу;\n" +
|
|
||||||
"5 – привести ноту к центру;\n" +
|
|
||||||
"6 – опустить ногу в исходное положение;\n" +
|
|
||||||
"7-12 – повторить то же с левой ноги.\n" +
|
|
||||||
"Упражнение сделать по 4-8 раз на каждую ногу. Следить за дыханием."
|
|
||||||
val J7 = "Предыдущее упражнение можно немного усложнить. \n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 — поднять одну ногу; \n" +
|
|
||||||
"2 — отвести ногу в сторону; \n" +
|
|
||||||
"3 — опустить ногу в стороне; \n" +
|
|
||||||
"4 — поднять вверх другую ногу;\n" +
|
|
||||||
"5 - отвести и ее в сторону; \n" +
|
|
||||||
"6 - опустить на пол в стороне; \n" +
|
|
||||||
"7-8 -скользя по опоре, соединить на полу ноги. \n" +
|
|
||||||
"Повторить упражнение с каждой ноги по 4-6 раз. Следить за дыханием.\n"
|
|
||||||
val J8 = "Исходное положение, две ноги поднять поочередно вверх. \n" +
|
|
||||||
"1 - развести ноги в стороны; \n" +
|
|
||||||
"2 - свести ноги вместе, и повторять 10—15-20 раз. \n" +
|
|
||||||
"Следить за дыханием. После небольшой паузы, со временем, можно выполнять второй подход. \n" +
|
|
||||||
"Также возможны следующие варианты:\n" +
|
|
||||||
"1 - развести ноги в стороны;\n" +
|
|
||||||
"2 - свести ноги вместе с перекрестом (одна нога выше, и нижнюю ноги. другая ниже);\n" +
|
|
||||||
"3 - развести ноги в стороны;\n" +
|
|
||||||
"4 - свести ноги и перекрестить их, поменяв верхнюю и нижнюю ноги.\n" +
|
|
||||||
"Упражнение сделать по 4-8 раз на каждую ногу. Следить за дыханием.\n"
|
|
||||||
val J9 =
|
|
||||||
"Дыхательное упражнение. Исходное положение, голова опирается на лоб, руки под головой. Глубокий вдох носом, долгий выдох через POT, губы сложены «трубочкой». Повторить 4-6 раз.\n"
|
|
||||||
val J10 =
|
|
||||||
"Исходное положение, голова опирается на лоб, руки лежат наверху на ширине, в руках — резиновый амортизатор. \n" +
|
|
||||||
"1 — поднять туловище, руки и голову вверх; \n" +
|
|
||||||
"2 — развести руки в стороны так, чтобы амортизатор лег на лопатки; \n" +
|
|
||||||
"3 — свести руки наверху до ширины плеч; \n" +
|
|
||||||
"4 — опуститься в исходное положение. \n" +
|
|
||||||
"Повторить упражнение 6-10 раз. Дыхание произвольное.\n" +
|
|
||||||
" Со временем можно усложнить упражнение: разводить руки в стороны не один раз, а несколько раз подряд; также можно сделать паузу в момент, когда руки разведены в стороны. Дыхание произвольное. Можно одновременно с подъемом туловища поднимать поочередно то одну, то вторую ногу.\n"
|
|
||||||
val J11 =
|
|
||||||
"Исходное положение, руки под головой. Поднять плечевой пояс и согнутые к плечам руки. Имитация плавания брассом. Дыхание ровное. \n" +
|
|
||||||
"Два подхода по 10-15-20 движений. Следить за полным выпрямлением рук наверх, разведением прямых рук B стороны, сведением лопаток B момент приведения плеч, а также за тем, чтобы корпус при выпрямлении рук наверх не опускался. Дыхание произвольное.\n"
|
|
||||||
val J12 =
|
|
||||||
"Исходное положение, руки лежат под головой, голова опирается на лоб. На ноге со стороны ампутации надета манжета с утяжелителем.\n" +
|
|
||||||
"Счет\n" +
|
|
||||||
"1 - поднять ногу с утяжелителем;\n" +
|
|
||||||
"2-3 — удерживать ногу; \n" +
|
|
||||||
"4 — опустить ногу в исходное положение. \n" +
|
|
||||||
"Повторить 10-15-20 раз.\n" +
|
|
||||||
"Усложнение: можно на счет 2 - отвести ногу в сторону, на счет 3 - вернуть ногу к центру, счет 4 — опуститься в исходное положение. Также можно отводить в сторону не один раз, а несколько раз подряд. Дыхание свободное. \n" +
|
|
||||||
"Со временем все упражнения можно выполнять с утяжелителем."
|
|
||||||
|
|
||||||
override fun onClickDay(item: DayListModel) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onClickExceptionOrder(item: EditSportModel) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onClickEditCard(item: EditSportModel) {
|
|
||||||
TODO("Not yet implemented")
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,503 +0,0 @@
|
||||||
package com.example.rehabilitation.Admin.fragmrntAdmin.SettingDoctor
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.os.Binder
|
|
||||||
import android.os.Bundle
|
|
||||||
import android.util.Log
|
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import android.view.LayoutInflater
|
|
||||||
import android.view.View
|
|
||||||
import android.view.ViewGroup
|
|
||||||
import android.widget.EditText
|
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.appcompat.app.AlertDialog
|
|
||||||
import androidx.fragment.app.activityViewModels
|
|
||||||
import androidx.lifecycle.asLiveData
|
|
||||||
import com.example.admin.Toast.showCustomInfoToast
|
|
||||||
import com.example.admin.Toast.showCustomNiceToast
|
|
||||||
import com.example.rehabilitation.Block
|
|
||||||
import com.example.rehabilitation.CursDayNull
|
|
||||||
import com.example.rehabilitation.DayAfter
|
|
||||||
import com.example.rehabilitation.DayBefore
|
|
||||||
import com.example.rehabilitation.EmailPatient
|
|
||||||
import com.example.rehabilitation.FIO
|
|
||||||
import com.example.rehabilitation.PatientDoctorNew
|
|
||||||
import com.example.rehabilitation.PauseDay
|
|
||||||
import com.example.rehabilitation.R
|
|
||||||
import com.example.rehabilitation.Room.MainDB
|
|
||||||
import com.example.rehabilitation.Room.dbUser.dbPatient.ItemPatient
|
|
||||||
import com.example.rehabilitation.SportCursDay
|
|
||||||
import com.example.rehabilitation.SportCursDayDangerAfter
|
|
||||||
import com.example.rehabilitation.SportCursDayDangerBefore
|
|
||||||
import com.example.rehabilitation.SportCursDayNumber
|
|
||||||
import com.example.rehabilitation.SportDateStart
|
|
||||||
import com.example.rehabilitation.SportMaxCount
|
|
||||||
import com.example.rehabilitation.SportPlusCount
|
|
||||||
import com.example.rehabilitation.SportUserTrue
|
|
||||||
import com.example.rehabilitation.UserPatientToken
|
|
||||||
import com.example.rehabilitation.databinding.FragmentCreatePatientBinding
|
|
||||||
import com.example.rehabilitation.model_adapter.Patient.PatientModel
|
|
||||||
import com.example.rehabilitation.prefBlock
|
|
||||||
import com.example.rehabilitation.prefCursDangerDayAfter
|
|
||||||
import com.example.rehabilitation.prefCursDangerDayBefore
|
|
||||||
import com.example.rehabilitation.prefCursDay
|
|
||||||
import com.example.rehabilitation.prefCursDayNull
|
|
||||||
import com.example.rehabilitation.prefDayAfter
|
|
||||||
import com.example.rehabilitation.prefDayBefore
|
|
||||||
import com.example.rehabilitation.prefEmailPatient
|
|
||||||
import com.example.rehabilitation.prefFIO
|
|
||||||
import com.example.rehabilitation.prefPatientDoctorNew
|
|
||||||
import com.example.rehabilitation.prefPauseDay
|
|
||||||
import com.example.rehabilitation.prefSport
|
|
||||||
import com.example.rehabilitation.prefSportCursDayNumber
|
|
||||||
import com.example.rehabilitation.prefSportDateStart
|
|
||||||
import com.example.rehabilitation.prefSportMaxCount
|
|
||||||
import com.example.rehabilitation.prefSportPlusCount
|
|
||||||
import com.example.rehabilitation.prefUserPatientToken
|
|
||||||
import com.example.sqlitework.dip.MainViewModel
|
|
||||||
|
|
||||||
|
|
||||||
class CreatePatientFragment : Fragment() {
|
|
||||||
private lateinit var binding: FragmentCreatePatientBinding
|
|
||||||
private val model: MainViewModel by activityViewModels()//Инициализировали класс
|
|
||||||
|
|
||||||
var addSave = 0
|
|
||||||
|
|
||||||
override fun onCreateView(
|
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
|
||||||
savedInstanceState: Bundle?
|
|
||||||
): View? {
|
|
||||||
binding = FragmentCreatePatientBinding.inflate(layoutInflater,container,false)
|
|
||||||
return binding.root
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
|
||||||
//Выход из создания пациента
|
|
||||||
binding.btnBackCreatePatient.setOnClickListener {
|
|
||||||
visible3()
|
|
||||||
}
|
|
||||||
createBtnPatient()
|
|
||||||
deleteBtnPatient()
|
|
||||||
liveLookPatientCurrent()
|
|
||||||
|
|
||||||
prefUserPatientToken = activity?.getSharedPreferences("UserPatientToken", Context.MODE_PRIVATE)
|
|
||||||
UserPatientToken = prefUserPatientToken?.getString("userpatienttoken", "")!! //Передаем при запуске страницы в counter данные по ключевому слову "counter", вс лучае если будет пусто то передастся 0
|
|
||||||
|
|
||||||
prefFIO = activity?.getSharedPreferences("FIO", Context.MODE_PRIVATE)
|
|
||||||
FIO = prefFIO?.getString("fio", "")!!
|
|
||||||
|
|
||||||
prefEmailPatient = activity?.getSharedPreferences("EmailPatient", Context.MODE_PRIVATE)
|
|
||||||
EmailPatient = prefEmailPatient?.getString("emailPatient", "")!!
|
|
||||||
|
|
||||||
prefSport = activity?.getSharedPreferences("SportUserTrue", Context.MODE_PRIVATE)
|
|
||||||
SportUserTrue = prefSport?.getInt("spt", 0)!!
|
|
||||||
|
|
||||||
//Какой сегодня курс
|
|
||||||
prefSportCursDayNumber = activity?.getSharedPreferences("SportCursDayNumber", Context.MODE_PRIVATE)
|
|
||||||
SportCursDayNumber = prefSportCursDayNumber?.getInt("scdn", 0)!!
|
|
||||||
|
|
||||||
|
|
||||||
prefCursDay = activity?.getSharedPreferences("SportCursDay", Context.MODE_PRIVATE)
|
|
||||||
SportCursDay = prefCursDay?.getInt("scd", 0)!!
|
|
||||||
|
|
||||||
prefCursDangerDayBefore = activity?.getSharedPreferences("CursDangerDayBefore", Context.MODE_PRIVATE)
|
|
||||||
SportCursDayDangerBefore = prefCursDangerDayBefore?.getInt("cddb", 0)!!
|
|
||||||
prefCursDangerDayAfter = activity?.getSharedPreferences("CursDangerDayAfter", Context.MODE_PRIVATE)
|
|
||||||
SportCursDayDangerAfter = prefCursDangerDayAfter?.getInt("cdda", 0)!!
|
|
||||||
|
|
||||||
prefCursDayNull = activity?.getSharedPreferences("CursDayNull", Context.MODE_PRIVATE)
|
|
||||||
CursDayNull = prefCursDayNull?.getString("cdn", "")!!
|
|
||||||
|
|
||||||
//Для пауз и блоков
|
|
||||||
prefPauseDay = activity?.getSharedPreferences("PauseDay", Context.MODE_PRIVATE)
|
|
||||||
PauseDay = prefPauseDay?.getString("pd", "")!!
|
|
||||||
prefBlock = activity?.getSharedPreferences("Block", Context.MODE_PRIVATE)
|
|
||||||
Block = prefBlock?.getString("b", "")!!
|
|
||||||
|
|
||||||
//ДАнные пациента
|
|
||||||
prefFIO = activity?.getSharedPreferences("FIO", Context.MODE_PRIVATE)
|
|
||||||
FIO = prefFIO?.getString("fio", "")!!
|
|
||||||
|
|
||||||
//Дата старта тренировки
|
|
||||||
prefSportDateStart = activity?.getSharedPreferences("SportDateStart", Context.MODE_PRIVATE)
|
|
||||||
SportDateStart = prefSportDateStart?.getString("sportdatestart", "")!!
|
|
||||||
|
|
||||||
//Есть ли аакаунт у пациента
|
|
||||||
prefPatientDoctorNew = activity?.getSharedPreferences("PatientDoctorNew", Context.MODE_PRIVATE)
|
|
||||||
PatientDoctorNew = prefPatientDoctorNew?.getInt("patientdoctornew", 0)!! //Передаем при запуске страницы в counter данные по ключевому слову "counter", вс лучае если будет пусто то передастся 0
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
fun savePatientDoctorNew(patientdoctornew: Int) {
|
|
||||||
val edit = prefPatientDoctorNew?.edit()
|
|
||||||
edit?.putInt("patientdoctornew", patientdoctornew)
|
|
||||||
edit?.apply()
|
|
||||||
PatientDoctorNew = patientdoctornew
|
|
||||||
}
|
|
||||||
fun clearPatientDoctorNew() {
|
|
||||||
val edit = prefPatientDoctorNew?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
PatientDoctorNew = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
fun saveFIO(fio: String) {
|
|
||||||
val edit = prefFIO?.edit()
|
|
||||||
edit?.putString("fio", fio)
|
|
||||||
edit?.apply()
|
|
||||||
FIO = fio
|
|
||||||
}
|
|
||||||
fun clearFIO() {
|
|
||||||
val edit = prefFIO?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
FIO = ""
|
|
||||||
}
|
|
||||||
fun saveEmailPatient(emailPatient: String) {
|
|
||||||
val edit = prefEmailPatient?.edit()
|
|
||||||
edit?.putString("emailPatient", emailPatient)
|
|
||||||
edit?.apply()
|
|
||||||
EmailPatient = emailPatient
|
|
||||||
}
|
|
||||||
fun clearEmailPatient() {
|
|
||||||
val edit = prefEmailPatient?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
EmailPatient = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
//Экран о пациенте
|
|
||||||
fun visible3() {
|
|
||||||
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLMainSettinDoctor,MainPatientFragment.newInstance())?.addToBackStack(null)?.commit()
|
|
||||||
}
|
|
||||||
|
|
||||||
//Диалоговое окно
|
|
||||||
private fun createAlеrtDialogCreate(
|
|
||||||
nameCreate: String,
|
|
||||||
surnameCreate: String,
|
|
||||||
//patronymicCreate: String,
|
|
||||||
diagnosisCreate: String,
|
|
||||||
//emailCreate: String,
|
|
||||||
loginCreate: String,
|
|
||||||
passwordCreate: String
|
|
||||||
) {
|
|
||||||
val builder = AlertDialog.Builder(requireContext())
|
|
||||||
builder.setTitle("Создание")
|
|
||||||
builder.setMessage("Вы уверены что хотите создать пользователя")
|
|
||||||
builder.setNegativeButton("Назад") { dialogInterface, i ->
|
|
||||||
|
|
||||||
}
|
|
||||||
builder.setPositiveButton("Подтвердить") { dialogInterface, i ->
|
|
||||||
createPatient(
|
|
||||||
nameCreate,
|
|
||||||
surnameCreate,
|
|
||||||
//patronymicCreate,
|
|
||||||
diagnosisCreate,
|
|
||||||
//emailCreate,
|
|
||||||
loginCreate,
|
|
||||||
passwordCreate
|
|
||||||
)
|
|
||||||
}
|
|
||||||
builder.show()
|
|
||||||
}
|
|
||||||
|
|
||||||
//Создание нового пациента
|
|
||||||
private fun createPatient(
|
|
||||||
nameCreate: String,
|
|
||||||
surnameCreate: String,
|
|
||||||
//patronymicCreate: String,
|
|
||||||
diagnosisCreate: String,
|
|
||||||
//emailCreate: String,
|
|
||||||
loginCreate: String,
|
|
||||||
passwordCreate: String
|
|
||||||
) {
|
|
||||||
val db = MainDB.getDB(requireContext())
|
|
||||||
val item = ItemPatient(
|
|
||||||
null,
|
|
||||||
nameCreate,
|
|
||||||
surnameCreate,
|
|
||||||
"",
|
|
||||||
diagnosisCreate,
|
|
||||||
//emailCreate,
|
|
||||||
0,
|
|
||||||
loginCreate,
|
|
||||||
passwordCreate,
|
|
||||||
)
|
|
||||||
Thread {
|
|
||||||
db.getDaoPatient().insertItemPatient(item)
|
|
||||||
}.start()
|
|
||||||
visible3()
|
|
||||||
savePatientDoctorNew(1)
|
|
||||||
clearPatientED()
|
|
||||||
Toast(requireContext()).showCustomNiceToast("Пользователь создан", requireActivity())
|
|
||||||
//Сохраняем то что пациент создан
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//Функция для очистки полей
|
|
||||||
private fun clearPatientED() = with(binding) {
|
|
||||||
edCreateName.setText("")
|
|
||||||
edCreateSurname.setText("")
|
|
||||||
edDiagnosis.setText("")
|
|
||||||
edCreateEmail.setText("")
|
|
||||||
edCreateLogin.setText("")
|
|
||||||
edCreatePassword.setText("")
|
|
||||||
}
|
|
||||||
//Удаление определенного пациента
|
|
||||||
private fun deleteBtnPatient() = with(binding) {
|
|
||||||
binding.btnDeletePatient.setOnClickListener {
|
|
||||||
createAlеrtDialogDelete()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private fun createAlеrtDialogDelete() {
|
|
||||||
val db = MainDB.getDB(requireContext())
|
|
||||||
|
|
||||||
val edException = EditText(requireContext())
|
|
||||||
val builder = AlertDialog.Builder(requireContext())
|
|
||||||
builder.setTitle("Удаление")
|
|
||||||
builder.setMessage("Введите login пользователя для удаления")
|
|
||||||
builder.setView(edException)
|
|
||||||
builder.setNegativeButton("Назад") { dialogInterface, i ->
|
|
||||||
|
|
||||||
}
|
|
||||||
builder.setPositiveButton("Подтвердить") { dialogInterface, i ->
|
|
||||||
if(EmailPatient == edException.text.toString()){
|
|
||||||
deletePatient(edException.text.toString())
|
|
||||||
clearFIO()
|
|
||||||
clearEmailPatient()
|
|
||||||
clearDate()
|
|
||||||
clearSportCursDay()
|
|
||||||
clearSportCursDayDangerBefore()
|
|
||||||
clearSportCursDayDangerAfter()
|
|
||||||
clearPauseDay()
|
|
||||||
clearBlock()
|
|
||||||
clearDayBefore()
|
|
||||||
clearDayAfter()
|
|
||||||
clearSportPlusCount()
|
|
||||||
clearSportMaxCount()
|
|
||||||
clearSportDateStart()
|
|
||||||
clearCursDayNumber()
|
|
||||||
//Сохраняем то что пациент создан
|
|
||||||
clearPatientDoctorNew()
|
|
||||||
clearUserPatientToken()
|
|
||||||
Thread {
|
|
||||||
db.getDaoDaySport().deleteItemDaySport()
|
|
||||||
db.getDao().deleteItem()
|
|
||||||
db.getDaoQB().deleteBQ()
|
|
||||||
db.getDaoQA().deleteAQ()
|
|
||||||
}.start()
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Такого пользователя нету", requireActivity())
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
builder.show()
|
|
||||||
}
|
|
||||||
|
|
||||||
//Функция удаления пользователя
|
|
||||||
private fun deletePatient(login: String) {
|
|
||||||
val db = MainDB.getDB(requireContext())
|
|
||||||
Thread {
|
|
||||||
db.getDaoPatient().deletePatient(login)
|
|
||||||
}.start()
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Аккаунт пациента был удален", requireActivity())
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Создание пациеанта
|
|
||||||
private fun createBtnPatient() {
|
|
||||||
|
|
||||||
binding.btnSaveCreatePatient.setOnClickListener {
|
|
||||||
addSave = 1
|
|
||||||
val db = MainDB.getDB(requireContext())
|
|
||||||
db.getDaoPatient().getAllItemPatient().asLiveData().observe(requireActivity()){
|
|
||||||
val listPatient = it.size
|
|
||||||
if(listPatient == 0){
|
|
||||||
val item = PatientModel(
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
)
|
|
||||||
|
|
||||||
model.liveLookPatientCurrent.value = item
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
it.forEach(){
|
|
||||||
val item = PatientModel(
|
|
||||||
it.id.toString(),
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
)
|
|
||||||
|
|
||||||
model.liveLookPatientCurrent.value = item
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private fun liveLookPatientCurrent() = with(binding) {
|
|
||||||
model.liveLookPatientCurrent.observe(viewLifecycleOwner) {//viewLifecycleOwner - следит за циклом жизни fragment
|
|
||||||
if(addSave == 1){
|
|
||||||
Log.d("id","id123 = ${it.id}")
|
|
||||||
|
|
||||||
if(it.id != "" || it.id == null || it.id.isNotBlank()){
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Аккаунт присутсвует", requireActivity())
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
val nameCreate = binding.edCreateName.text.toString()
|
|
||||||
val surnameCreate = binding.edCreateSurname.text.toString()
|
|
||||||
val diagnosisCreate = binding.edDiagnosis.text.toString()
|
|
||||||
val emailCreate = binding.edCreateEmail.text.toString()
|
|
||||||
val loginCreate = binding.edCreateLogin.text.toString()
|
|
||||||
val passwordCreate = binding.edCreatePassword.text.toString()
|
|
||||||
|
|
||||||
|
|
||||||
if (nameCreate != "" && surnameCreate != "" && diagnosisCreate != "" && loginCreate != "" && passwordCreate != "") {
|
|
||||||
createAlеrtDialogCreate(
|
|
||||||
nameCreate,
|
|
||||||
surnameCreate,
|
|
||||||
//patronymicCreate,
|
|
||||||
diagnosisCreate,
|
|
||||||
//emailCreate,
|
|
||||||
loginCreate,
|
|
||||||
passwordCreate
|
|
||||||
)
|
|
||||||
saveFIO(surnameCreate+" "+nameCreate)
|
|
||||||
saveEmailPatient(loginCreate)
|
|
||||||
|
|
||||||
} else {
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Не все поля заполнены", requireActivity())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Сбрасываем нажатие
|
|
||||||
addSave=0
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearUserPatientToken() {
|
|
||||||
val edit = prefUserPatientToken?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
UserPatientToken = ""
|
|
||||||
}
|
|
||||||
fun clearCursDayNumber() {
|
|
||||||
val edit = prefSportCursDayNumber?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
SportCursDayNumber = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
fun clearSportDateStart() {
|
|
||||||
val edit = prefSportDateStart?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
SportDateStart = "0"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
fun clearSportPlusCount() {
|
|
||||||
val edit = prefSportPlusCount?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
SportPlusCount = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fun clearSportMaxCount() {
|
|
||||||
val edit = prefSportMaxCount?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
SportMaxCount = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearDayBefore() {
|
|
||||||
val edit = prefDayBefore?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
DayBefore = ""
|
|
||||||
}
|
|
||||||
fun clearDayAfter() {
|
|
||||||
val edit = prefDayAfter?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
DayAfter = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
fun clearBlock() {
|
|
||||||
val edit = prefBlock?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
Block = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearPauseDay() {
|
|
||||||
val edit = prefPauseDay?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
PauseDay = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
fun clearDate() {
|
|
||||||
val edit = prefSport?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
SportUserTrue = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearSportCursDay() {
|
|
||||||
val edit = prefCursDay?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
SportCursDay = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
fun clearSportCursDayDangerBefore() {
|
|
||||||
val edit = prefCursDangerDayBefore?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
SportCursDayDangerBefore = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
fun clearSportCursDayDangerAfter() {
|
|
||||||
val edit = prefCursDangerDayAfter?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
SportCursDayDangerAfter = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
|
|
||||||
fun newInstance() = CreatePatientFragment()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,219 +0,0 @@
|
||||||
package com.example.rehabilitation.Admin.fragmrntAdmin.SettingDoctor
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.os.Bundle
|
|
||||||
import android.util.Log
|
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import android.view.LayoutInflater
|
|
||||||
import android.view.View
|
|
||||||
import android.view.ViewGroup
|
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.fragment.app.activityViewModels
|
|
||||||
import androidx.lifecycle.asLiveData
|
|
||||||
import com.example.admin.Toast.showCustomInfoToast
|
|
||||||
import com.example.admin.Toast.showCustomNiceToast
|
|
||||||
import com.example.rehabilitation.DayBefore
|
|
||||||
import com.example.rehabilitation.EmailPatient
|
|
||||||
import com.example.rehabilitation.FIO
|
|
||||||
import com.example.rehabilitation.R
|
|
||||||
import com.example.rehabilitation.Room.MainDB
|
|
||||||
import com.example.rehabilitation.SportCursDayDangerBefore
|
|
||||||
import com.example.rehabilitation.databinding.FragmentEditPatientBinding
|
|
||||||
import com.example.rehabilitation.model_adapter.Patient.PatientModel
|
|
||||||
import com.example.rehabilitation.prefCursDangerDayBefore
|
|
||||||
import com.example.rehabilitation.prefDayBefore
|
|
||||||
import com.example.rehabilitation.prefEmailPatient
|
|
||||||
import com.example.rehabilitation.prefFIO
|
|
||||||
import com.example.sqlitework.dip.MainViewModel
|
|
||||||
|
|
||||||
|
|
||||||
class EditPatientFragment : Fragment() {
|
|
||||||
private lateinit var binding: FragmentEditPatientBinding
|
|
||||||
private val model: MainViewModel by activityViewModels()//Инициализировали класс
|
|
||||||
|
|
||||||
var loginPatient = ""
|
|
||||||
override fun onCreateView(
|
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
|
||||||
savedInstanceState: Bundle?
|
|
||||||
): View? {
|
|
||||||
binding = FragmentEditPatientBinding.inflate(layoutInflater,container,false)
|
|
||||||
return binding.root
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
|
||||||
enabledPatient()
|
|
||||||
editBtnSavePatient()
|
|
||||||
liveSettingPatientCurrent()
|
|
||||||
|
|
||||||
outputOfDataParient()
|
|
||||||
//Выход из редактирвоания данных пациента
|
|
||||||
binding.btnBackPatientSetting.setOnClickListener {
|
|
||||||
visible3()
|
|
||||||
}
|
|
||||||
|
|
||||||
prefFIO = activity?.getSharedPreferences("FIO", Context.MODE_PRIVATE)
|
|
||||||
FIO = prefFIO?.getString("fio", "")!!
|
|
||||||
|
|
||||||
prefEmailPatient = activity?.getSharedPreferences("EmailPatient", Context.MODE_PRIVATE)
|
|
||||||
EmailPatient = prefEmailPatient?.getString("emailPatient", "")!!
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onResume() {
|
|
||||||
super.onResume()
|
|
||||||
|
|
||||||
}
|
|
||||||
fun saveFIO(fio: String) {
|
|
||||||
val edit = prefFIO?.edit()
|
|
||||||
edit?.putString("fio", fio)
|
|
||||||
edit?.apply()
|
|
||||||
FIO = fio
|
|
||||||
}
|
|
||||||
fun clearFIO() {
|
|
||||||
val edit = prefFIO?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
FIO = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
fun saveEmailPatient(emailPatient: String) {
|
|
||||||
val edit = prefEmailPatient?.edit()
|
|
||||||
edit?.putString("emailPatient", emailPatient)
|
|
||||||
edit?.apply()
|
|
||||||
EmailPatient = emailPatient
|
|
||||||
}
|
|
||||||
fun clearEmailPatient() {
|
|
||||||
val edit = prefEmailPatient?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
EmailPatient = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
//Экран о пациенте
|
|
||||||
fun visible3() {
|
|
||||||
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLMainSettinDoctor,MainPatientFragment.newInstance())?.addToBackStack(null)?.commit()
|
|
||||||
}
|
|
||||||
|
|
||||||
//Функция отключающая поля для ввода редактирования пациента
|
|
||||||
private fun enabledPatient() = with(binding) {
|
|
||||||
edEditNamePatient.setEnabled(false)
|
|
||||||
edEditSurnamePatient.setEnabled(false)
|
|
||||||
//edEditPatronymicPatient.setEnabled(false)
|
|
||||||
edEditDiagnosisPatient.setEnabled(false)
|
|
||||||
edEditLoginPatient.setEnabled(false)
|
|
||||||
//edEditEmailPatient.setEnabled(false)
|
|
||||||
edEditPasswordPatient.setEnabled(false)
|
|
||||||
enabledPatientBtn()
|
|
||||||
}
|
|
||||||
|
|
||||||
//Функция активации полей при редактирование пациента
|
|
||||||
private fun enabledPatientBtn() = with(binding) {
|
|
||||||
btnEditNamePatient.setOnClickListener { edEditNamePatient.setEnabled(true) }
|
|
||||||
btnEditSurnamePatient.setOnClickListener { edEditSurnamePatient.setEnabled(true) }
|
|
||||||
//btnEditPatronymicPatient.setOnClickListener { edEditPatronymicPatient.setEnabled(true) }
|
|
||||||
btnEditDiagnosisPatient.setOnClickListener { edEditDiagnosisPatient.setEnabled(true) }
|
|
||||||
btnEditLoginPatient.setOnClickListener { edEditLoginPatient.setEnabled(true) }
|
|
||||||
//btnEditEmailPatient.setOnClickListener { edEditEmailPatient.setEnabled(true) }
|
|
||||||
btnEditPasswordPatient.setOnClickListener { edEditPasswordPatient.setEnabled(true) }
|
|
||||||
}
|
|
||||||
|
|
||||||
//Сохранение измененных данных для пациента
|
|
||||||
private fun editBtnSavePatient() = with(binding) {
|
|
||||||
binding.btnSaveEditPatient.setOnClickListener {
|
|
||||||
val name = edEditNamePatient.text.toString()
|
|
||||||
val surname = edEditSurnamePatient.text.toString()
|
|
||||||
// val patronymic = edEditPatronymicPatient.text.toString()
|
|
||||||
val diagnosis = edEditDiagnosisPatient.text.toString()
|
|
||||||
val login = edEditLoginPatient.text.toString()
|
|
||||||
//val email = edEditEmailPatient.text.toString()
|
|
||||||
val password = edEditPasswordPatient.text.toString()
|
|
||||||
if (name != "" && surname != "" && login != "" && password != "" && diagnosis != "") {
|
|
||||||
saveFIO(surname +" "+ name)
|
|
||||||
saveEmailPatient(login)
|
|
||||||
val db = MainDB.getDB(requireContext())
|
|
||||||
Thread {
|
|
||||||
db.getDaoPatient().updatePatient(
|
|
||||||
loginPatient,
|
|
||||||
name,
|
|
||||||
surname,
|
|
||||||
"",
|
|
||||||
diagnosis,
|
|
||||||
login,
|
|
||||||
password
|
|
||||||
)
|
|
||||||
}.start()
|
|
||||||
Toast(requireContext()).showCustomNiceToast(
|
|
||||||
"Данные обновлены",
|
|
||||||
requireActivity()
|
|
||||||
)
|
|
||||||
|
|
||||||
} else {
|
|
||||||
Toast(requireContext()).showCustomInfoToast(
|
|
||||||
"Не все поля заполнены",
|
|
||||||
requireActivity()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun liveSettingPatientCurrent() = with(binding) {
|
|
||||||
model.liveSettingPatientCurrent.observe(viewLifecycleOwner) {
|
|
||||||
//viewLifecycleOwner - следит за циклом жизни fragment
|
|
||||||
Log.i("liveSettingPatientCurrent","liveSettingPatientCurrent")
|
|
||||||
binding.edEditNamePatient.setText(it.name)
|
|
||||||
binding.edEditSurnamePatient.setText(it.surname)
|
|
||||||
//binding.edEditPatronymicPatient.setText(it.patronymic)
|
|
||||||
binding.edEditDiagnosisPatient.setText(it.diagnosis)
|
|
||||||
//binding.edEditEmailPatient.setText("")
|
|
||||||
binding.edEditLoginPatient.setText(it.login)
|
|
||||||
binding.edEditPasswordPatient.setText(it.password)
|
|
||||||
loginPatient = it.login
|
|
||||||
visible5()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Экран редактировани данных пациента
|
|
||||||
fun visible5() {
|
|
||||||
Log.i("visible5","visible5")
|
|
||||||
binding.CLLoad.visibility = View.GONE
|
|
||||||
|
|
||||||
binding.CLEditPatien.visibility = View.VISIBLE
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun outputOfDataParient() {
|
|
||||||
Log.i("outputOfDataParient","outputOfDataParient")
|
|
||||||
visibleLoad()
|
|
||||||
val db = MainDB.getDB(requireContext())
|
|
||||||
db.getDaoPatient().getAuthItemPatientOutput(EmailPatient).asLiveData().observe(requireActivity()) { itList ->
|
|
||||||
itList.forEach {
|
|
||||||
val item = PatientModel(
|
|
||||||
it.id.toString(),
|
|
||||||
it.name.toString(),
|
|
||||||
it.surname.toString(),
|
|
||||||
it.patronymic.toString(),
|
|
||||||
it.diagnosis.toString(),
|
|
||||||
it.number_of_courses.toString(),
|
|
||||||
it.login.toString(),
|
|
||||||
it.password.toString(),
|
|
||||||
)
|
|
||||||
model.liveSettingPatientCurrent.value = item
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Экран создания пациенат
|
|
||||||
fun visibleLoad() {
|
|
||||||
binding.CLLoad.visibility = View.VISIBLE
|
|
||||||
binding.CLEditPatien.visibility = View.GONE
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
|
|
||||||
fun newInstance() = EditPatientFragment()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,153 +0,0 @@
|
||||||
package com.example.rehabilitation.Admin.fragmrntAdmin.SettingDoctor
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.os.Bundle
|
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import android.view.LayoutInflater
|
|
||||||
import android.view.View
|
|
||||||
import android.view.ViewGroup
|
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.lifecycle.asLiveData
|
|
||||||
import com.example.admin.Toast.showCustomInfoToast
|
|
||||||
import com.example.admin.Toast.showCustomNiceToast
|
|
||||||
import com.example.rehabilitation.EmailPatient
|
|
||||||
import com.example.rehabilitation.FIO
|
|
||||||
import com.example.rehabilitation.MainActivity
|
|
||||||
import com.example.rehabilitation.R
|
|
||||||
import com.example.rehabilitation.Room.MainDB
|
|
||||||
import com.example.rehabilitation.databinding.FragmentMainPatientBinding
|
|
||||||
import com.example.rehabilitation.fragment.InfoFragment.MedicalReabilitationFragment
|
|
||||||
import com.example.rehabilitation.model_adapter.Patient.PatientModel
|
|
||||||
import com.example.rehabilitation.prefEmailPatient
|
|
||||||
import com.example.rehabilitation.prefFIO
|
|
||||||
|
|
||||||
|
|
||||||
class MainPatientFragment : Fragment()/*, MainActivity.IOnBackPressed*/ {
|
|
||||||
private lateinit var binding: FragmentMainPatientBinding
|
|
||||||
// override fun onBackPressed(): Boolean {
|
|
||||||
// return if (true) {
|
|
||||||
// Toast(requireContext()).showCustomInfoToast("123123213", requireActivity())
|
|
||||||
// true
|
|
||||||
// } else {
|
|
||||||
// false
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
override fun onCreateView(
|
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
|
||||||
savedInstanceState: Bundle?
|
|
||||||
): View? {
|
|
||||||
binding = FragmentMainPatientBinding.inflate(layoutInflater,container,false)
|
|
||||||
return binding.root
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
|
||||||
|
|
||||||
prefFIO = activity?.getSharedPreferences("FIO", Context.MODE_PRIVATE)
|
|
||||||
FIO = prefFIO?.getString("fio", "")!!
|
|
||||||
|
|
||||||
prefEmailPatient = activity?.getSharedPreferences("EmailPatient", Context.MODE_PRIVATE)
|
|
||||||
EmailPatient = prefEmailPatient?.getString("emailPatient", "")!!
|
|
||||||
|
|
||||||
|
|
||||||
//Выход из мею настроек пациента
|
|
||||||
binding.btnExitMainPAtient.setOnClickListener {
|
|
||||||
visible1()
|
|
||||||
}
|
|
||||||
|
|
||||||
binding.btnSportPatient.setOnClickListener {
|
|
||||||
if(FIO !=""){
|
|
||||||
visible4()
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Создайте аккаунт пациенту", requireActivity())
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
binding.btnCreatePatient.setOnClickListener {
|
|
||||||
visible7()
|
|
||||||
}
|
|
||||||
binding.btnEditPatient.setOnClickListener {
|
|
||||||
if(FIO !=""){
|
|
||||||
visible5()
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Создайте аккаунт пациенту", requireActivity())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// override fun onBackPressed(): Boolean {
|
|
||||||
// return if (myCondition) {
|
|
||||||
// //action not popBackStack
|
|
||||||
// true
|
|
||||||
// } else {
|
|
||||||
// false
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
fun saveFIO(fio: String) {
|
|
||||||
val edit = prefFIO?.edit()
|
|
||||||
edit?.putString("fio", fio)
|
|
||||||
edit?.apply()
|
|
||||||
FIO = fio
|
|
||||||
}
|
|
||||||
fun clearFIO() {
|
|
||||||
val edit = prefFIO?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
FIO = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
fun saveEmailPatient(emailPatient: String) {
|
|
||||||
val edit = prefEmailPatient?.edit()
|
|
||||||
edit?.putString("emailPatient", emailPatient)
|
|
||||||
edit?.apply()
|
|
||||||
EmailPatient = emailPatient
|
|
||||||
}
|
|
||||||
fun clearEmailPatient() {
|
|
||||||
val edit = prefEmailPatient?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
EmailPatient = ""
|
|
||||||
}
|
|
||||||
//Экран создания пациенат
|
|
||||||
fun visibleLoad() {
|
|
||||||
binding.CLLoad.visibility = View.VISIBLE
|
|
||||||
binding.CLMainPatient.visibility = View.GONE
|
|
||||||
}
|
|
||||||
|
|
||||||
//Основной экран
|
|
||||||
fun visible1() {
|
|
||||||
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLMainSettinDoctor,MainSettingDoctorFragment.newInstance())?.addToBackStack(null)?.commit()
|
|
||||||
}
|
|
||||||
//Экран тренировок пациента
|
|
||||||
fun visible4() {
|
|
||||||
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLMainSettinDoctor,PatientSportFragment.newInstance())?.addToBackStack(null)?.commit()
|
|
||||||
// val infoFrag = activity?.supportFragmentManager?.beginTransaction()
|
|
||||||
// infoFrag?.replace(R.id.CLMainSettinDoctor, PatientSportFragment.newInstance())
|
|
||||||
// infoFrag?.addToBackStack(null)
|
|
||||||
// infoFrag?.commit()
|
|
||||||
|
|
||||||
}
|
|
||||||
//Экран редактировани данных пациента
|
|
||||||
fun visible5() {
|
|
||||||
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLMainSettinDoctor,EditPatientFragment.newInstance())?.addToBackStack(null)?.commit()
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//Экран создания пациенат
|
|
||||||
fun visible7() {
|
|
||||||
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLMainSettinDoctor,CreatePatientFragment.newInstance())?.addToBackStack(null)?.commit()
|
|
||||||
}
|
|
||||||
companion object {
|
|
||||||
|
|
||||||
fun newInstance() = MainPatientFragment()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,336 +0,0 @@
|
||||||
package com.example.rehabilitation.Admin.fragmrntAdmin.SettingDoctor
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.graphics.Color
|
|
||||||
import android.os.Bundle
|
|
||||||
import android.util.Log
|
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import android.view.LayoutInflater
|
|
||||||
import android.view.View
|
|
||||||
import android.view.ViewGroup
|
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.appcompat.app.AlertDialog
|
|
||||||
import androidx.fragment.app.activityViewModels
|
|
||||||
import androidx.lifecycle.asLiveData
|
|
||||||
import com.example.admin.Toast.showCustomInfoToast
|
|
||||||
import com.example.rehabilitation.Auth.AuthDoctorActivity
|
|
||||||
import com.example.rehabilitation.Auth.AuthorizationActivity
|
|
||||||
import com.example.rehabilitation.Block
|
|
||||||
import com.example.rehabilitation.EmailPatient
|
|
||||||
import com.example.rehabilitation.FIO
|
|
||||||
import com.example.rehabilitation.PauseDay
|
|
||||||
import com.example.rehabilitation.R
|
|
||||||
import com.example.rehabilitation.Room.MainDB
|
|
||||||
import com.example.rehabilitation.SettingActivity
|
|
||||||
import com.example.rehabilitation.SportDateStart
|
|
||||||
import com.example.rehabilitation.SportPlusCount
|
|
||||||
import com.example.rehabilitation.User.fragmentUser.SceduleFragment
|
|
||||||
import com.example.rehabilitation.UserDoctorToken
|
|
||||||
import com.example.rehabilitation.counter2
|
|
||||||
import com.example.rehabilitation.databinding.FragmentMainSettingDoctorBinding
|
|
||||||
import com.example.rehabilitation.model_adapter.Patient.PatientModel
|
|
||||||
import com.example.rehabilitation.prefBlock
|
|
||||||
import com.example.rehabilitation.prefDoctor
|
|
||||||
import com.example.rehabilitation.prefEmailPatient
|
|
||||||
import com.example.rehabilitation.prefFIO
|
|
||||||
import com.example.rehabilitation.prefPauseDay
|
|
||||||
import com.example.rehabilitation.prefSportDateStart
|
|
||||||
import com.example.rehabilitation.prefUserDoctorToken
|
|
||||||
import com.example.rehabilitation.tokenClassDoctor
|
|
||||||
import com.example.sqlitework.dip.MainViewModel
|
|
||||||
import java.time.LocalDate
|
|
||||||
|
|
||||||
class MainSettingDoctorFragment : Fragment() {
|
|
||||||
private lateinit var binding: FragmentMainSettingDoctorBinding
|
|
||||||
private val model: MainViewModel by activityViewModels()//Инициализировали класс
|
|
||||||
|
|
||||||
private var addPatient = false
|
|
||||||
|
|
||||||
override fun onCreateView(
|
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
|
||||||
savedInstanceState: Bundle?
|
|
||||||
): View? {
|
|
||||||
binding = FragmentMainSettingDoctorBinding.inflate(layoutInflater,container,false)
|
|
||||||
return binding.root
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
|
||||||
|
|
||||||
prefFIO = activity?.getSharedPreferences("FIO", Context.MODE_PRIVATE)
|
|
||||||
FIO = prefFIO?.getString("fio", "")!!
|
|
||||||
|
|
||||||
prefEmailPatient = activity?.getSharedPreferences("EmailPatient", Context.MODE_PRIVATE)
|
|
||||||
EmailPatient = prefEmailPatient?.getString("emailPatient", "")!!
|
|
||||||
|
|
||||||
prefSportDateStart = activity?.getSharedPreferences("SportDateStart", Context.MODE_PRIVATE)
|
|
||||||
SportDateStart = prefSportDateStart?.getString("sportdatestart", "")!!
|
|
||||||
|
|
||||||
//Для пауз и блоков
|
|
||||||
prefPauseDay = activity?.getSharedPreferences("PauseDay", Context.MODE_PRIVATE)
|
|
||||||
PauseDay = prefPauseDay?.getString("pd", "")!!
|
|
||||||
prefBlock = activity?.getSharedPreferences("Block", Context.MODE_PRIVATE)
|
|
||||||
Block = prefBlock?.getString("b", "")!!
|
|
||||||
|
|
||||||
data_prefDoctorPatientToken()
|
|
||||||
|
|
||||||
//Вызываем вывод данных пациента
|
|
||||||
outputOfDataPatient()
|
|
||||||
|
|
||||||
//Получаем данные пациента
|
|
||||||
liveSettingPatientCurrent()
|
|
||||||
|
|
||||||
binding.btnPatient.setOnClickListener {
|
|
||||||
visible3()
|
|
||||||
}
|
|
||||||
|
|
||||||
//Выход из раздела врача
|
|
||||||
binding.btnExitDoctorProfil.setOnClickListener {
|
|
||||||
clearUserDoctorToken()
|
|
||||||
val intetn = Intent(requireContext(), SettingActivity::class.java)
|
|
||||||
activity?.finish()
|
|
||||||
startActivity(intetn)
|
|
||||||
}
|
|
||||||
|
|
||||||
//Выход из аккаунта врача
|
|
||||||
binding.btnExitAuthDoctor.setOnClickListener {
|
|
||||||
createAlеrtDialogExitAuth()
|
|
||||||
}
|
|
||||||
|
|
||||||
if(SportDateStart !=""){
|
|
||||||
binding.txtDateSport.setText("Дата назначения: ${SportDateStart}")
|
|
||||||
binding.cardViewSportDay.setCardBackgroundColor(Color.parseColor("#9CD57E"))
|
|
||||||
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
binding.txtDateSport.setText("Курс отсуствует")
|
|
||||||
binding.cardViewSportDay.setCardBackgroundColor(Color.parseColor("#D57E7E"))
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if(FIO ==""){
|
|
||||||
visibleLoad()
|
|
||||||
binding.txtSurname.setText("")
|
|
||||||
binding.txtName.setText("")
|
|
||||||
binding.txtPatronymic.setText("")
|
|
||||||
binding.txtEmail.setText("")
|
|
||||||
binding.txtDiagnoz.setText("")
|
|
||||||
}
|
|
||||||
|
|
||||||
//Цвет кнопок в зависимоти паузы и блока
|
|
||||||
colorBtnBlockPause()
|
|
||||||
|
|
||||||
binding.cardViewBan.setOnClickListener {
|
|
||||||
if(FIO !=""){
|
|
||||||
if(Block <= LocalDate.now().toString() || Block == ""){
|
|
||||||
saveBlock(LocalDate.now().plusDays(3).toString())
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Курс заблокирован", requireActivity())
|
|
||||||
binding.cardViewBan.setCardBackgroundColor(Color.parseColor("#FF3F3F"))
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
clearBlock()
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Курс разблокирован", requireActivity())
|
|
||||||
binding.cardViewBan.setCardBackgroundColor(Color.parseColor("#8FF174"))
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Создайте аккаунт пациенту", requireActivity())
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
binding.cardViewPause.setOnClickListener {
|
|
||||||
if(FIO !=""){
|
|
||||||
if(PauseDay <= LocalDate.now().toString() || PauseDay == ""){
|
|
||||||
savePauseDay(LocalDate.now().plusDays(1).toString())
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Пауза на 3 дня", requireActivity())
|
|
||||||
binding.cardViewPause.setCardBackgroundColor(Color.parseColor("#FF3F3F"))
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
clearPauseDay()
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Пауза снята", requireActivity())
|
|
||||||
binding.cardViewPause.setCardBackgroundColor(Color.parseColor("#8FF174"))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Создайте аккаунт пациенту", requireActivity())
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private fun colorBtnBlockPause() {
|
|
||||||
//Цвет кнопки в зависимоти от включен ли блок
|
|
||||||
if(Block==""){
|
|
||||||
binding.cardViewBan.setCardBackgroundColor(Color.parseColor("#8FF174"))
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
binding.cardViewBan.setCardBackgroundColor(Color.parseColor("#FF3F3F"))
|
|
||||||
}
|
|
||||||
|
|
||||||
//Цвет кнопки в зависимоти от включена ли пацза
|
|
||||||
if(PauseDay==""){
|
|
||||||
binding.cardViewPause.setCardBackgroundColor(Color.parseColor("#8FF174"))
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
binding.cardViewPause.setCardBackgroundColor(Color.parseColor("#FF3F3F"))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun saveBlock(b: String) {
|
|
||||||
val edit = prefBlock?.edit()
|
|
||||||
edit?.putString("b", b)
|
|
||||||
edit?.apply()
|
|
||||||
Block = b
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearBlock() {
|
|
||||||
val edit = prefBlock?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
Block = ""
|
|
||||||
}
|
|
||||||
fun savePauseDay(pd: String) {
|
|
||||||
val edit = prefPauseDay?.edit()
|
|
||||||
edit?.putString("pd", pd)
|
|
||||||
edit?.apply()
|
|
||||||
PauseDay = pd
|
|
||||||
}
|
|
||||||
fun clearPauseDay() {
|
|
||||||
val edit = prefPauseDay?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
PauseDay = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onDestroy() {
|
|
||||||
super.onDestroy()
|
|
||||||
|
|
||||||
clearUserDoctorToken()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
override fun onResume() {
|
|
||||||
super.onResume()
|
|
||||||
if(FIO ==""){
|
|
||||||
visibleLoad()
|
|
||||||
binding.txtSurname.setText("")
|
|
||||||
binding.txtName.setText("")
|
|
||||||
binding.txtPatronymic.setText("")
|
|
||||||
binding.txtEmail.setText("")
|
|
||||||
binding.txtDiagnoz.setText("")
|
|
||||||
}
|
|
||||||
//Цвет кнопок в зависимоти паузы и блока
|
|
||||||
colorBtnBlockPause()
|
|
||||||
}
|
|
||||||
|
|
||||||
//Диалоговое окно
|
|
||||||
private fun createAlеrtDialogExitAuth() {
|
|
||||||
val builder = AlertDialog.Builder(requireContext())
|
|
||||||
builder.setTitle("Выход")
|
|
||||||
builder.setMessage("Вы уверены что хотите выйти из аккаунта")
|
|
||||||
builder.setNegativeButton("Назад") { dialogInterface, i ->
|
|
||||||
|
|
||||||
}
|
|
||||||
builder.setPositiveButton("Подтвердить") { dialogInterface, i ->
|
|
||||||
clearUserDoctorToken()
|
|
||||||
val intetn = Intent(requireContext(), SettingActivity::class.java)
|
|
||||||
activity?.finish()
|
|
||||||
startActivity(intetn)
|
|
||||||
}
|
|
||||||
builder.show()
|
|
||||||
}
|
|
||||||
//Фиксируем токен врача
|
|
||||||
private fun data_prefDoctorPatientToken() {
|
|
||||||
prefUserDoctorToken = activity?.getSharedPreferences("UserDoctorToken", Context.MODE_PRIVATE)
|
|
||||||
UserDoctorToken = prefUserDoctorToken?.getString("userdoctortoken", "")!! //Передаем при запуске страницы в counter данные по ключевому слову "counter", вс лучае если будет пусто то передастся 0
|
|
||||||
if(UserDoctorToken == ""){
|
|
||||||
val intetn = Intent(requireContext(), AuthDoctorActivity::class.java)
|
|
||||||
activity?.finish()
|
|
||||||
startActivity(intetn)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Записываем число
|
|
||||||
fun saveUserDoctorToken(userdoctortoken: String) {
|
|
||||||
val editer = prefUserDoctorToken?.edit()
|
|
||||||
editer?.putString("userdoctortoken", userdoctortoken)
|
|
||||||
editer?.apply()
|
|
||||||
UserDoctorToken = userdoctortoken
|
|
||||||
}
|
|
||||||
//Функция очистки данных
|
|
||||||
fun clearUserDoctorToken() {
|
|
||||||
val edit = prefUserDoctorToken?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
UserDoctorToken = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
//Получение из базы данных пациента
|
|
||||||
private fun outputOfDataPatient() {
|
|
||||||
Log.i("111","111")
|
|
||||||
visibleLoad()
|
|
||||||
Log.i("122","122")
|
|
||||||
val db = MainDB.getDB(requireContext())
|
|
||||||
db.getDaoPatient().getAuthItemPatientOutput(EmailPatient).asLiveData().observe(requireActivity()) { itList ->
|
|
||||||
itList.forEach {
|
|
||||||
val item = PatientModel(
|
|
||||||
it.id.toString(),
|
|
||||||
it.name,
|
|
||||||
it.surname,
|
|
||||||
it.patronymic,
|
|
||||||
it.diagnosis,
|
|
||||||
it.number_of_courses.toString(),
|
|
||||||
it.login,
|
|
||||||
it.password,
|
|
||||||
)
|
|
||||||
model.liveSettingPatientCurrent.value = item
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//ВЫводим данные пациента
|
|
||||||
private fun liveSettingPatientCurrent() = with(binding) {
|
|
||||||
model.liveSettingPatientCurrent.observe(viewLifecycleOwner) {
|
|
||||||
Log.i("333","333")
|
|
||||||
binding.txtSurname.setText(it.surname)
|
|
||||||
binding.txtName.setText(it.name)
|
|
||||||
binding.txtPatronymic.setText(it.patronymic)
|
|
||||||
binding.txtEmail.setText(it.login)
|
|
||||||
binding.txtDiagnoz.setText(it.diagnosis)
|
|
||||||
visible5()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Экран загрузки
|
|
||||||
fun visibleLoad() {
|
|
||||||
Log.i("222","222")
|
|
||||||
binding.cardLoad.visibility = View.VISIBLE
|
|
||||||
binding.CLMainSetting.visibility = View.VISIBLE
|
|
||||||
}
|
|
||||||
//Экран с данными пациента и кнопками
|
|
||||||
fun visible5() {
|
|
||||||
Log.i("444","444")
|
|
||||||
binding.cardLoad.visibility = View.GONE
|
|
||||||
binding.CLMainSetting.visibility = View.VISIBLE
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Экран о пациенте
|
|
||||||
fun visible3() {
|
|
||||||
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLMainSettinDoctor,MainPatientFragment.newInstance())?.addToBackStack(null)?.commit()
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
fun newInstance() = MainSettingDoctorFragment()
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,29 +0,0 @@
|
||||||
package com.example.rehabilitation.Auth
|
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import android.os.Bundle
|
|
||||||
import com.example.rehabilitation.R
|
|
||||||
import com.example.rehabilitation.User.fragmentUser.HomeFragment
|
|
||||||
import com.example.rehabilitation.databinding.ActivityAuthDoctorBinding
|
|
||||||
|
|
||||||
class AuthDoctorActivity : AppCompatActivity() {
|
|
||||||
lateinit var binding: ActivityAuthDoctorBinding
|
|
||||||
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
binding = ActivityAuthDoctorBinding.inflate(layoutInflater)
|
|
||||||
setContentView(binding.root)
|
|
||||||
|
|
||||||
//Вывод фрагмента на активити при первоначальной загрузке
|
|
||||||
supportFragmentManager.beginTransaction()
|
|
||||||
.replace(R.id.CLAutDoctor, AuthDoctorFragment.newInstance())
|
|
||||||
.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onDestroy() {
|
|
||||||
super.onDestroy()
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,157 +0,0 @@
|
||||||
package com.example.rehabilitation.Auth
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.os.Bundle
|
|
||||||
import android.util.Log
|
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import android.view.LayoutInflater
|
|
||||||
import android.view.View
|
|
||||||
import android.view.ViewGroup
|
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.fragment.app.activityViewModels
|
|
||||||
import androidx.lifecycle.asLiveData
|
|
||||||
import com.example.admin.Toast.showCustomDangerToast
|
|
||||||
import com.example.admin.Toast.showCustomInfoToast
|
|
||||||
import com.example.rehabilitation.Admin.activityAdmin.UserSettingActivity
|
|
||||||
import com.example.rehabilitation.MainActivity
|
|
||||||
import com.example.rehabilitation.R
|
|
||||||
import com.example.rehabilitation.Room.MainDB
|
|
||||||
import com.example.rehabilitation.UserDoctorToken
|
|
||||||
import com.example.rehabilitation.databinding.ActivityAuthDoctorBinding
|
|
||||||
import com.example.rehabilitation.databinding.FragmentAuthDoctorBinding
|
|
||||||
import com.example.rehabilitation.model_adapter.Doctor.DoctorModel
|
|
||||||
import com.example.rehabilitation.prefUserDoctorToken
|
|
||||||
import com.example.sqlitework.dip.MainViewModel
|
|
||||||
|
|
||||||
class AuthDoctorFragment : Fragment() {
|
|
||||||
lateinit var binding: FragmentAuthDoctorBinding
|
|
||||||
private val model: MainViewModel by activityViewModels()//Инициализировали класс
|
|
||||||
|
|
||||||
override fun onCreateView(
|
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
|
||||||
savedInstanceState: Bundle?
|
|
||||||
): View? {
|
|
||||||
binding = FragmentAuthDoctorBinding.inflate(layoutInflater,container,false)
|
|
||||||
return binding.root
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
|
||||||
data_prefDoctorPatientToken()
|
|
||||||
liveDoctorAuthCurrent()
|
|
||||||
|
|
||||||
//Авторизация врача
|
|
||||||
//Нажатие на кнопку авторизации
|
|
||||||
binding.buttonAuthorizationDoctor.setOnClickListener{
|
|
||||||
var email = binding.editTextEmailDoctor.text.toString()
|
|
||||||
var password = binding.editTextPasswordDoctor.text.toString()
|
|
||||||
if(email !="" || password !=""){
|
|
||||||
AuthorizationDoctor(email,password)
|
|
||||||
Log.d("Result","email email - $email")
|
|
||||||
Log.d("Result","password password - $password")
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
Toast(requireContext()).showCustomInfoToast("Не все поля заполнены", requireActivity())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Переход от авторизации врача к пациенту
|
|
||||||
binding.btnAutPatient.setOnClickListener{
|
|
||||||
val intent = Intent(requireContext(), AuthorizationActivity::class.java)
|
|
||||||
activity?.finish()//Закрываем старый экран, для того чтобы очитсить оперативную память от лишнего хранения экрана
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun liveDoctorAuthCurrent() = with(binding) {
|
|
||||||
model.liveAuthDoctorCurrent.observe(viewLifecycleOwner) {//viewLifecycleOwner - следит за циклом жизни fragment
|
|
||||||
if(it.id == "0"){
|
|
||||||
Toast(requireContext()).showCustomDangerToast("Такого аккаунта нету", requireActivity())
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
saveUserDoctorToken(it.login)
|
|
||||||
|
|
||||||
if(UserDoctorToken !=""){
|
|
||||||
val intent = Intent(requireContext(), UserSettingActivity::class.java)
|
|
||||||
activity?.finish()//Закрываем старый экран, для того чтобы очитсить оперативную память от лишнего хранения экрана
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Фиксируем токен врача
|
|
||||||
private fun data_prefDoctorPatientToken() {
|
|
||||||
prefUserDoctorToken = activity?.getSharedPreferences("UserDoctorToken", Context.MODE_PRIVATE)
|
|
||||||
UserDoctorToken = prefUserDoctorToken?.getString("userdoctortoken", "")!! //Передаем при запуске страницы в counter данные по ключевому слову "counter", вс лучае если будет пусто то передастся 0
|
|
||||||
}
|
|
||||||
|
|
||||||
//Записываем число
|
|
||||||
fun saveUserDoctorToken(userdoctortoken: String) {
|
|
||||||
val editer = prefUserDoctorToken?.edit()
|
|
||||||
editer?.putString("userdoctortoken", userdoctortoken)
|
|
||||||
editer?.apply()
|
|
||||||
UserDoctorToken = userdoctortoken
|
|
||||||
}
|
|
||||||
//Функция очистки данных
|
|
||||||
fun clearUserDoctorToken() {
|
|
||||||
val edit = prefUserDoctorToken?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
UserDoctorToken = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private fun AuthorizationDoctor(login:String,password:String){
|
|
||||||
val db = MainDB.getDB(requireContext())
|
|
||||||
|
|
||||||
db.getDaoDoctor().getAuthItemDoctor(login,password).asLiveData().observe(requireActivity()) {itPatient->
|
|
||||||
if (itPatient.isNullOrEmpty()) {
|
|
||||||
val item = DoctorModel(
|
|
||||||
"0",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
// it.email,
|
|
||||||
login,
|
|
||||||
""
|
|
||||||
)
|
|
||||||
|
|
||||||
model.liveAuthDoctorCurrent.value = item
|
|
||||||
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
val item = DoctorModel(
|
|
||||||
itPatient[0].id.toString(),
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
// it.email,
|
|
||||||
login,
|
|
||||||
""
|
|
||||||
)
|
|
||||||
|
|
||||||
model.liveAuthDoctorCurrent.value = item
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
override fun onDestroy() {
|
|
||||||
super.onDestroy()
|
|
||||||
activity?.finish()
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
fun newInstance() = AuthDoctorFragment()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -10,31 +10,43 @@ import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.fragment.app.activityViewModels
|
import androidx.fragment.app.activityViewModels
|
||||||
import androidx.lifecycle.asLiveData
|
|
||||||
import com.example.admin.Toast.showCustomDangerToast
|
import com.example.admin.Toast.showCustomDangerToast
|
||||||
import com.example.admin.Toast.showCustomInfoToast
|
import com.example.admin.Toast.showCustomInfoToast
|
||||||
import com.example.rehabilitation.Admin.activityAdmin.UserSettingActivity
|
import com.example.rehabilitation.Auth.Model.AuthModel
|
||||||
import com.example.rehabilitation.MainActivity
|
import com.example.rehabilitation.MainActivity
|
||||||
import com.example.rehabilitation.counter1
|
|
||||||
import com.example.rehabilitation.counter2
|
|
||||||
import com.example.rehabilitation.databinding.FragmentAuthBinding
|
import com.example.rehabilitation.databinding.FragmentAuthBinding
|
||||||
import com.example.rehabilitation.Room.MainDB
|
|
||||||
import com.example.rehabilitation.UserDoctorToken
|
|
||||||
import com.example.rehabilitation.UserPatientToken
|
import com.example.rehabilitation.UserPatientToken
|
||||||
import com.example.rehabilitation.model_adapter.Doctor.DoctorModel
|
import com.example.rehabilitation.Auth.Model.PatientModel
|
||||||
import com.example.rehabilitation.model_adapter.Patient.PatientModel
|
import com.example.rehabilitation.MainFragment
|
||||||
import com.example.rehabilitation.pref
|
import com.example.rehabilitation.PatientViewModel
|
||||||
import com.example.rehabilitation.prefDoctor
|
import com.example.rehabilitation.Pref.ConclusionPref
|
||||||
import com.example.rehabilitation.prefUserDoctorToken
|
import com.example.rehabilitation.Pref.SavePref
|
||||||
|
import com.example.rehabilitation.Questionnaire.Model.BeforeQuestionnaireModel
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Retrofit.PatientApi
|
||||||
|
import com.example.rehabilitation.Sport.SceduleFragment
|
||||||
import com.example.rehabilitation.prefUserPatientToken
|
import com.example.rehabilitation.prefUserPatientToken
|
||||||
import com.example.rehabilitation.tokenClass
|
|
||||||
import com.example.rehabilitation.tokenClassDoctor
|
|
||||||
import com.example.sqlitework.dip.MainViewModel
|
import com.example.sqlitework.dip.MainViewModel
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import okhttp3.logging.HttpLoggingInterceptor
|
||||||
|
import org.json.JSONObject
|
||||||
|
import retrofit2.Retrofit
|
||||||
|
import retrofit2.converter.gson.GsonConverterFactory
|
||||||
|
|
||||||
|
|
||||||
class AuthFragment : Fragment() {
|
class AuthFragment : Fragment() {
|
||||||
private lateinit var binding: FragmentAuthBinding
|
private lateinit var binding: FragmentAuthBinding
|
||||||
private val model: MainViewModel by activityViewModels()//Инициализировали класс
|
private val model: MainViewModel by activityViewModels()//Инициализировали класс
|
||||||
|
private lateinit var patientApi: PatientApi
|
||||||
|
private val PatientVewModel: PatientViewModel by activityViewModels()
|
||||||
|
|
||||||
|
//Токен
|
||||||
|
private var Token = ""
|
||||||
|
val prefPatientSave = SavePref()
|
||||||
|
val prefPatientConclusion = ConclusionPref()
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
@ -47,21 +59,20 @@ class AuthFragment : Fragment() {
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
data_prefUserPatientToken()
|
binding.txtError.text = ""
|
||||||
|
Token = prefPatientConclusion.conclusionToken(requireContext())
|
||||||
|
|
||||||
livePatientAuthCurrent()
|
|
||||||
|
|
||||||
|
|
||||||
//Авиризация пациента
|
//Авиризация пациента
|
||||||
binding.buttonAuthorizationPatient.setOnClickListener {
|
binding.buttonAuthorizationPatient.setOnClickListener {
|
||||||
var email = binding.editTextEmailPatient.text.toString()
|
val login = binding.editTextLoginPatient.text.toString()
|
||||||
var password = binding.editTextPasswordPatient.text.toString()
|
val password = binding.editTextPasswordPatient.text.toString()
|
||||||
if (email != "" || password != "") {
|
if (login != "" || password != "") {
|
||||||
AuthorizationPatient(email, password)
|
AuthorizationPatient(
|
||||||
Log.d("Result", "email email - $email")
|
AuthModel(
|
||||||
Log.d("Result", "password password - $password")
|
login,
|
||||||
|
password,
|
||||||
|
)
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
Toast(requireContext()).showCustomInfoToast(
|
Toast(requireContext()).showCustomInfoToast(
|
||||||
"Не все поля заполнены",
|
"Не все поля заполнены",
|
||||||
|
@ -73,126 +84,101 @@ class AuthFragment : Fragment() {
|
||||||
//Если пользователь решил зайти в аккаунт врача и не подумал о том что не сможет вернуться со страницы авторизации, то он может нажать данную кнопку, и в случае если он был авторизован, то его вернет в приложение
|
//Если пользователь решил зайти в аккаунт врача и не подумал о том что не сможет вернуться со страницы авторизации, то он может нажать данную кнопку, и в случае если он был авторизован, то его вернет в приложение
|
||||||
binding.btnBack.setOnClickListener {
|
binding.btnBack.setOnClickListener {
|
||||||
if (UserPatientToken != "") {
|
if (UserPatientToken != "") {
|
||||||
val intent = Intent(requireContext(), MainActivity::class.java)
|
activity?.supportFragmentManager?.beginTransaction()
|
||||||
startActivity(intent)
|
?.replace(R.id.CLMain, MainFragment.newInstance())
|
||||||
activity?.finish()//Закрываем старый экран, для того чтобы очитсить оперативную память от лишнего хранения экрана
|
?.commit()
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Toast(requireContext()).showCustomInfoToast("Авторизуйтесь", requireActivity())
|
Toast(requireContext()).showCustomInfoToast("Авторизуйтесь", requireActivity())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//Переход вход для врача
|
|
||||||
binding.txtDoctor.setOnClickListener {
|
//Инициализация подлючения к серверу
|
||||||
val intent = Intent(requireContext(), AuthDoctorActivity::class.java)
|
private fun initRetrofit() {
|
||||||
startActivity(intent)
|
val interceptor = HttpLoggingInterceptor()
|
||||||
activity?.finish()//Закрываем старый экран, для того чтобы очитсить оперативную память от лишнего хранения экрана
|
interceptor.level = HttpLoggingInterceptor.Level.BODY
|
||||||
|
|
||||||
|
val client = OkHttpClient
|
||||||
|
.Builder()
|
||||||
|
.addInterceptor(interceptor)
|
||||||
|
.build()
|
||||||
|
|
||||||
|
val retrofit = Retrofit.Builder()
|
||||||
|
.baseUrl("http://mobileapp.vmeda.org/api/")
|
||||||
|
.client(client)
|
||||||
|
.addConverterFactory(GsonConverterFactory.create())
|
||||||
|
.build()
|
||||||
|
|
||||||
|
patientApi = retrofit.create(PatientApi::class.java)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Получения списка пациентов
|
||||||
|
fun BeforeQuestionnaire(item: BeforeQuestionnaireModel) {
|
||||||
|
initRetrofit()
|
||||||
|
val Tokens = prefPatientConclusion.conclusionToken(requireContext())
|
||||||
|
CoroutineScope(Dispatchers.IO).launch {
|
||||||
|
val QA = patientApi.AddBeforeQuestionnaire2("Bearer $Tokens",item)
|
||||||
|
requireActivity().runOnUiThread {
|
||||||
|
|
||||||
|
//Фиксируем полученные данные
|
||||||
|
val AQList = QA.body()
|
||||||
|
|
||||||
|
//Если нету ошибок
|
||||||
|
if (AQList != null) {
|
||||||
|
Toast(requireContext()).showCustomInfoToast(AQList.message, requireActivity())
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
Toast(requireContext()).showCustomInfoToast("Ошибка при отправке", requireActivity())
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Вывод фрагмента на активити при первоначальной загрузке
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
?.replace(R.id.CLMain, SceduleFragment.newInstance())?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun AuthorizationPatient(authModel: AuthModel) {
|
||||||
|
initRetrofit()
|
||||||
|
CoroutineScope(Dispatchers.IO).launch {
|
||||||
|
|
||||||
//Инициализация хранилища(для токена) и проверяем есть ли аккаунт и или перекидываем в авторизацую или остаемся на данном экране
|
val response = patientApi.LoginPatient(authModel)
|
||||||
fun data_prefUserPatientToken() {
|
requireActivity().runOnUiThread {
|
||||||
prefUserPatientToken =
|
val user = response.body()
|
||||||
activity?.getSharedPreferences("UserPatientToken", Context.MODE_PRIVATE)
|
//Если есть такой пользователь
|
||||||
UserPatientToken = prefUserPatientToken?.getString(
|
if (user != null) {
|
||||||
"userpatienttoken",
|
|
||||||
""
|
|
||||||
)!! //Передаем при запуске страницы в counter данные по ключевому слову "counter", вс лучае если будет пусто то передастся 0
|
|
||||||
}
|
|
||||||
|
|
||||||
//Записываем число
|
//PatientVewModel.token.value = user.token
|
||||||
fun saveUserPatientToken(userpatienttoken: String) {
|
prefPatientSave.saveToken(requireContext(),user.token)
|
||||||
val editer = prefUserPatientToken?.edit()
|
|
||||||
editer?.putString("userpatienttoken", userpatienttoken)
|
|
||||||
editer?.apply()
|
|
||||||
UserPatientToken = userpatienttoken
|
|
||||||
}
|
|
||||||
|
|
||||||
//Функция очистки данных
|
val intetn = Intent(requireContext(), MainActivity::class.java)
|
||||||
fun clearUserPatientToken() {
|
startActivity(intetn)
|
||||||
val edit = prefUserPatientToken?.edit()
|
activity?.finish()
|
||||||
edit?.clear()
|
}
|
||||||
edit?.apply()
|
else{
|
||||||
UserPatientToken = ""
|
Toast(requireContext()).showCustomInfoToast(
|
||||||
}
|
"Такого пользователя нету",
|
||||||
|
requireActivity()
|
||||||
|
|
||||||
private fun AuthorizationPatient(login: String, password: String) {
|
|
||||||
val db = MainDB.getDB(requireContext())
|
|
||||||
Log.d("Ressadsdasdasda3", "sadsdasdasda")
|
|
||||||
db.getDaoPatient().getAuthItemPatient(login, password).asLiveData()
|
|
||||||
.observe(requireActivity()) { itPatient ->
|
|
||||||
|
|
||||||
if (itPatient.isNullOrEmpty()) {
|
|
||||||
val item = PatientModel(
|
|
||||||
"0",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
//it.email,
|
|
||||||
login,
|
|
||||||
"",
|
|
||||||
)
|
)
|
||||||
model.liveAuthPatientCurrent.value = item
|
|
||||||
|
|
||||||
} else {
|
|
||||||
val item = PatientModel(
|
|
||||||
itPatient[0].id.toString(),
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
//it.email,
|
|
||||||
login,
|
|
||||||
"",
|
|
||||||
)
|
|
||||||
model.liveAuthPatientCurrent.value = item
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private fun livePatientAuthCurrent() = with(binding) {
|
|
||||||
model.liveAuthPatientCurrent.observe(viewLifecycleOwner) {//viewLifecycleOwner - следит за циклом жизни fragment
|
|
||||||
Log.i("12312", "sadas")
|
|
||||||
if (it.id == "0") {
|
|
||||||
Log.i("4444", "4444")
|
|
||||||
Toast(requireContext()).showCustomDangerToast(
|
|
||||||
"Такого аккаунта нету",
|
|
||||||
requireActivity()
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
Log.i("5555", "5555")
|
|
||||||
UserPatientToken = it.login
|
|
||||||
saveUserPatientToken(it.login)
|
|
||||||
|
|
||||||
if (UserPatientToken != "") {
|
|
||||||
val intent = Intent(requireContext(), MainActivity::class.java)
|
|
||||||
activity?.finish()//Закрываем старый экран, для того чтобы очитсить оперативную память от лишнего хранения экрана
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
activity?.finish()
|
activity?.finish()
|
||||||
}
|
}
|
||||||
companion object {
|
|
||||||
|
|
||||||
|
companion object {
|
||||||
fun newInstance() = AuthFragment()
|
fun newInstance() = AuthFragment()
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -15,10 +15,6 @@ class AuthorizationActivity : AppCompatActivity() {
|
||||||
|
|
||||||
binding = ActivityAuthorizationBinding.inflate(layoutInflater)
|
binding = ActivityAuthorizationBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
supportFragmentManager.beginTransaction().replace(R.id.constraintLayoutAuth, AuthFragment.newInstance()).commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
package com.example.rehabilitation.Auth.Model
|
||||||
|
|
||||||
|
data class AuthModel(
|
||||||
|
val login: String,
|
||||||
|
val password: String,
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
package com.example.rehabilitation.Auth.Model
|
||||||
|
|
||||||
|
data class CheckTokenModel(
|
||||||
|
val status:String,
|
||||||
|
)
|
|
@ -1,4 +1,4 @@
|
||||||
package com.example.rehabilitation.model_adapter.Patient
|
package com.example.rehabilitation.Auth.Model
|
||||||
|
|
||||||
data class PatientModel(
|
data class PatientModel(
|
||||||
val id: String,
|
val id: String,
|
|
@ -0,0 +1,7 @@
|
||||||
|
package com.example.rehabilitation.Auth.Model
|
||||||
|
|
||||||
|
data class UserModel(
|
||||||
|
val id: String,
|
||||||
|
val token: String,
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,309 @@
|
||||||
|
package com.example.rehabilitation.Calendare
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
|
import android.graphics.Typeface
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.os.Handler
|
||||||
|
import android.util.Log
|
||||||
|
import android.util.TypedValue
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import android.widget.TextView
|
||||||
|
import androidx.core.view.children
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.fragment.app.activityViewModels
|
||||||
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.example.rehabilitation.Calendare.Calendare.CalendareAdapter
|
||||||
|
import com.example.rehabilitation.Calendare.Calendare.getColorCompat
|
||||||
|
import com.example.rehabilitation.Calendare.Calendare.setTextColorRes
|
||||||
|
import com.example.rehabilitation.Calendare.Calendare.shared.displayText
|
||||||
|
import com.example.rehabilitation.Calendare.Calendare.shared.generateFlights
|
||||||
|
import com.example.rehabilitation.Pref.ConclusionPref
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Retrofit.PatientApi
|
||||||
|
import com.example.rehabilitation.Sport.DayAdapter
|
||||||
|
import com.example.rehabilitation.databinding.Example5CalendarDayBinding
|
||||||
|
import com.example.rehabilitation.databinding.Example5CalendarHeaderBinding
|
||||||
|
import com.example.rehabilitation.databinding.FragmentCalendarBinding
|
||||||
|
import com.example.rehabilitation.listCalendare
|
||||||
|
import com.example.sqlitework.dip.MainViewModel
|
||||||
|
import com.kizitonwose.calendar.core.CalendarDay
|
||||||
|
import com.kizitonwose.calendar.core.CalendarMonth
|
||||||
|
import com.kizitonwose.calendar.core.DayPosition
|
||||||
|
import com.kizitonwose.calendar.core.daysOfWeek
|
||||||
|
import com.kizitonwose.calendar.core.nextMonth
|
||||||
|
import com.kizitonwose.calendar.core.previousMonth
|
||||||
|
import com.kizitonwose.calendar.view.MonthDayBinder
|
||||||
|
import com.kizitonwose.calendar.view.MonthHeaderFooterBinder
|
||||||
|
import com.kizitonwose.calendar.view.ViewContainer
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import okhttp3.logging.HttpLoggingInterceptor
|
||||||
|
import retrofit2.Retrofit
|
||||||
|
import retrofit2.converter.gson.GsonConverterFactory
|
||||||
|
import java.time.DayOfWeek
|
||||||
|
import java.time.LocalDate
|
||||||
|
import java.time.YearMonth
|
||||||
|
import java.util.Timer
|
||||||
|
import kotlin.concurrent.timerTask
|
||||||
|
|
||||||
|
|
||||||
|
class CalendarFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentCalendarBinding
|
||||||
|
lateinit var adapterDay: DayAdapter
|
||||||
|
private val model: MainViewModel by activityViewModels()//Инициализировали класс
|
||||||
|
private lateinit var patientApi: PatientApi
|
||||||
|
private var selectedDate: LocalDate? = null
|
||||||
|
val prefPatientConclusion = ConclusionPref()
|
||||||
|
private val flightsAdapter = CalendareAdapter()
|
||||||
|
//Для разрешения проверки количества дней
|
||||||
|
var lookDateSportMax = false
|
||||||
|
|
||||||
|
@SuppressLint("NewApi")
|
||||||
|
|
||||||
|
//Загрузка данных для календаря
|
||||||
|
var calendare = false
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentCalendarBinding.inflate(layoutInflater, container, false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressLint("NewApi")
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
if(isAdded) {
|
||||||
|
calendare = false
|
||||||
|
initRcViewCalendareMoment()
|
||||||
|
APIliveCountCalendareCurrent()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
fun visibleCalendare(){
|
||||||
|
binding.CLCalendare.visibility = View.VISIBLE
|
||||||
|
binding.CLLoad.visibility = View.GONE
|
||||||
|
}
|
||||||
|
|
||||||
|
fun visibleLoad(){
|
||||||
|
binding.CLCalendare.visibility = View.GONE
|
||||||
|
binding.CLLoad.visibility = View.VISIBLE
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@SuppressLint("NotifyDataSetChanged")
|
||||||
|
private fun calendareTwoAdd() {
|
||||||
|
if(calendare == false) {
|
||||||
|
calendare = true
|
||||||
|
// binding.exFiveRv.apply {
|
||||||
|
// layoutManager = LinearLayoutManager(requireContext(), RecyclerView.VERTICAL, false)
|
||||||
|
// adapter = flightsAdapter
|
||||||
|
// }
|
||||||
|
Log.i("listCalendare1", listCalendare.toString())
|
||||||
|
flightsAdapter.notifyDataSetChanged()
|
||||||
|
|
||||||
|
val daysOfWeek = daysOfWeek()
|
||||||
|
val currentMonth = YearMonth.now()
|
||||||
|
val startMonth = currentMonth.minusMonths(200)
|
||||||
|
val endMonth = currentMonth.plusMonths(200)
|
||||||
|
configureBinders(daysOfWeek)
|
||||||
|
binding.exFiveCalendar.setup(startMonth, endMonth, daysOfWeek.first())
|
||||||
|
binding.exFiveCalendar.scrollToMonth(currentMonth)
|
||||||
|
|
||||||
|
binding.exFiveCalendar.monthScrollListener = { month ->
|
||||||
|
binding.exFiveMonthYearText.text = month.yearMonth.displayText()
|
||||||
|
|
||||||
|
selectedDate?.let {
|
||||||
|
// Clear selection if we scroll to a new month.
|
||||||
|
selectedDate = null
|
||||||
|
binding.exFiveCalendar.notifyDateChanged(it)
|
||||||
|
updateAdapterForDate(null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.exFiveNextMonthImage.setOnClickListener {
|
||||||
|
binding.exFiveCalendar.findFirstVisibleMonth()?.let {
|
||||||
|
binding.exFiveCalendar.smoothScrollToMonth(it.yearMonth.nextMonth)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.exFivePreviousMonthImage.setOnClickListener {
|
||||||
|
binding.exFiveCalendar.findFirstVisibleMonth()?.let {
|
||||||
|
binding.exFiveCalendar.smoothScrollToMonth(it.yearMonth.previousMonth)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
visibleCalendare()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun initRcViewCalendareMoment() = with(binding) {
|
||||||
|
exFiveRv.layoutManager = GridLayoutManager(requireContext(), 1)//По вертикали будет выводить по умолчанию
|
||||||
|
exFiveRv.adapter = flightsAdapter
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Инициализация запроса
|
||||||
|
private fun initRetrofit() {
|
||||||
|
val interceptor = HttpLoggingInterceptor()
|
||||||
|
interceptor.level = HttpLoggingInterceptor.Level.BODY
|
||||||
|
|
||||||
|
val client = OkHttpClient
|
||||||
|
.Builder()
|
||||||
|
.addInterceptor(interceptor)
|
||||||
|
.build()
|
||||||
|
|
||||||
|
//Базовая ссылка
|
||||||
|
val retrofit = Retrofit.Builder()
|
||||||
|
.baseUrl("http://mobileapp.vmeda.org/api/").client(client)
|
||||||
|
.addConverterFactory(GsonConverterFactory.create())
|
||||||
|
.build()
|
||||||
|
patientApi = retrofit.create(PatientApi::class.java)//Экземпляр
|
||||||
|
}
|
||||||
|
|
||||||
|
//Функция получения данных для заполнения календаря
|
||||||
|
private fun APIliveCountCalendareCurrent() {
|
||||||
|
visibleLoad()
|
||||||
|
initRetrofit()
|
||||||
|
|
||||||
|
val Tokens = prefPatientConclusion.conclusionToken(requireContext())
|
||||||
|
CoroutineScope(Dispatchers.IO).launch {
|
||||||
|
val Calendare = patientApi.PatientCalendareDay("Bearer $Tokens")
|
||||||
|
|
||||||
|
activity?.runOnUiThread {
|
||||||
|
//Фиксируем полученные данные
|
||||||
|
val CalendareList = Calendare.body()
|
||||||
|
Log.i("1111111111111111111",CalendareList.toString())
|
||||||
|
//Если нету ошибок
|
||||||
|
if (CalendareList != null) {
|
||||||
|
Log.i("2222","2222")
|
||||||
|
listCalendare = CalendareList.сalendare
|
||||||
|
Log.i("listCalendare",listCalendare.toString())
|
||||||
|
calendareTwoAdd()
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
timerCalendare()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private fun timerCalendare() {
|
||||||
|
Log.i("asdasdasdasd444444444", "23231x2wswqxsxsas")
|
||||||
|
calendare = false
|
||||||
|
CoroutineScope(Dispatchers.IO).launch {
|
||||||
|
Timer().schedule(timerTask {
|
||||||
|
activity?.runOnUiThread {
|
||||||
|
APIliveCountCalendareCurrent()
|
||||||
|
}
|
||||||
|
}, 15000)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private fun updateAdapterForDate(date: LocalDate?) {
|
||||||
|
val flightss = generateFlights().groupBy { it.time.toLocalDate() }
|
||||||
|
flightsAdapter.flights.clear()
|
||||||
|
flightsAdapter.flights.addAll(flightss[date].orEmpty())
|
||||||
|
flightsAdapter.notifyDataSetChanged()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun configureBinders(daysOfWeek: List<DayOfWeek>) {
|
||||||
|
class DayViewContainer(view: View) : ViewContainer(view) {
|
||||||
|
lateinit var day: CalendarDay // Will be set when this container is bound.
|
||||||
|
val binding = Example5CalendarDayBinding.bind(view)
|
||||||
|
|
||||||
|
init {
|
||||||
|
view.setOnClickListener {
|
||||||
|
if (day.position == DayPosition.MonthDate) {
|
||||||
|
if (selectedDate != day.date) {
|
||||||
|
val oldDate = selectedDate
|
||||||
|
selectedDate = day.date
|
||||||
|
val binding = this@CalendarFragment.binding
|
||||||
|
binding.exFiveCalendar.notifyDateChanged(day.date)
|
||||||
|
oldDate?.let { binding.exFiveCalendar.notifyDateChanged(it) }
|
||||||
|
updateAdapterForDate(day.date)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
binding.exFiveCalendar.dayBinder = object : MonthDayBinder<DayViewContainer> {
|
||||||
|
override fun create(view: View) = DayViewContainer(view)
|
||||||
|
|
||||||
|
@SuppressLint("NewApi")
|
||||||
|
override fun bind(container: DayViewContainer, data: CalendarDay) {
|
||||||
|
container.day = data
|
||||||
|
val context = container.binding.root.context
|
||||||
|
val textView = container.binding.exFiveDayText
|
||||||
|
val layout = container.binding.exFiveDayLayout
|
||||||
|
textView.text = data.date.dayOfMonth.toString()
|
||||||
|
|
||||||
|
val flightTopView = container.binding.exFiveDayFlightTop
|
||||||
|
val flightBottomView = container.binding.exFiveDayFlightBottom
|
||||||
|
flightTopView.background = null
|
||||||
|
flightBottomView.background = null
|
||||||
|
|
||||||
|
if (data.position == DayPosition.MonthDate) {
|
||||||
|
textView.setTextColorRes(R.color.black)
|
||||||
|
layout.setBackgroundResource(if (selectedDate == data.date) R.drawable.example_5_selected_bg else 0)
|
||||||
|
val flightss = generateFlights().groupBy { it.time.toLocalDate() }
|
||||||
|
val flights = flightss[data.date]
|
||||||
|
if (flights != null) {
|
||||||
|
if (flights.count() == 1) {
|
||||||
|
flightBottomView.setBackgroundColor(context.getColorCompat(flights[0].color))
|
||||||
|
} else {
|
||||||
|
flightTopView.setBackgroundColor(context.getColorCompat(flights[0].color))
|
||||||
|
flightBottomView.setBackgroundColor(context.getColorCompat(flights[1].color))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
textView.setTextColorRes(R.color.blue)
|
||||||
|
layout.background = null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class MonthViewContainer(view: View) : ViewContainer(view) {
|
||||||
|
val legendLayout = Example5CalendarHeaderBinding.bind(view).legendLayout.root
|
||||||
|
}
|
||||||
|
|
||||||
|
val typeFace = Typeface.create("sans-serif-light", Typeface.NORMAL)
|
||||||
|
binding.exFiveCalendar.monthHeaderBinder =
|
||||||
|
object : MonthHeaderFooterBinder<MonthViewContainer> {
|
||||||
|
override fun create(view: View) = MonthViewContainer(view)
|
||||||
|
override fun bind(container: MonthViewContainer, data: CalendarMonth) {
|
||||||
|
// Setup each header day text if we have not done that already.
|
||||||
|
if (container.legendLayout.tag == null) {
|
||||||
|
container.legendLayout.tag = data.yearMonth
|
||||||
|
container.legendLayout.children.map { it as TextView }
|
||||||
|
.forEachIndexed { index, tv ->
|
||||||
|
tv.text = daysOfWeek[index].displayText(uppercase = true)
|
||||||
|
tv.setTextColorRes(R.color.black)
|
||||||
|
tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12f)
|
||||||
|
tv.typeface = typeFace
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() = CalendarFragment()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package com.example.calendarev2
|
package com.example.rehabilitation.Calendare.Calendare
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
|
@ -12,7 +12,8 @@ import androidx.annotation.DrawableRes
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.lifecycle.findViewTreeLifecycleOwner
|
import androidx.lifecycle.findViewTreeLifecycleOwner
|
||||||
import com.example.calendarev2.sample.shared.StatusBarColorLifecycleObserver
|
import com.example.rehabilitation.Calendare.Calendare.shared.StatusBarColorLifecycleObserver
|
||||||
|
|
||||||
|
|
||||||
fun View.makeVisible() {
|
fun View.makeVisible() {
|
||||||
visibility = View.VISIBLE
|
visibility = View.VISIBLE
|
|
@ -0,0 +1,67 @@
|
||||||
|
package com.example.rehabilitation.Calendare.Calendare.shared
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
|
import android.icu.text.SimpleDateFormat
|
||||||
|
import android.util.Log
|
||||||
|
import androidx.annotation.ColorRes
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.listCalendare
|
||||||
|
import java.time.LocalDate
|
||||||
|
import java.time.LocalDateTime
|
||||||
|
import java.time.Month
|
||||||
|
import java.time.YearMonth
|
||||||
|
import java.time.format.DateTimeFormatter
|
||||||
|
import kotlin.time.Duration.Companion.days
|
||||||
|
|
||||||
|
|
||||||
|
data class Flight(
|
||||||
|
val time: LocalDateTime,
|
||||||
|
val item: String,
|
||||||
|
@ColorRes val color: Int,
|
||||||
|
) {
|
||||||
|
data class Airport(val city: String, val code: String)
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressLint("NewApi")
|
||||||
|
fun generateFlights(): List<Flight> = buildList {
|
||||||
|
//val currentMonth = LocalDate.now()
|
||||||
|
Log.i("listCalendare.size",listCalendare.size.toString())
|
||||||
|
Log.i("listCalendare.toString()",listCalendare.toString())
|
||||||
|
if(listCalendare.size>0){
|
||||||
|
for (i in 0..listCalendare.size-1) {
|
||||||
|
Log.i("listCalendare[i-1].date",listCalendare[0].day.toString())
|
||||||
|
// val day = "${date[3]}"+"${date[4]}"//День
|
||||||
|
// val mount = "${date[0]}"+"${date[1]}"//Месяц
|
||||||
|
var date = listCalendare[i].date
|
||||||
|
var dateDay = date[8]+""+date[9]
|
||||||
|
var dateMonth = date[5]+""+date[6]
|
||||||
|
var dateYear = date[0]+""+date[1]+""+date[2]+""+date[3]
|
||||||
|
Log.i("dateDay",dateDay)
|
||||||
|
|
||||||
|
|
||||||
|
LocalDate.of(dateYear.toInt(), dateMonth.toInt(), dateDay.toInt()).plusMonths(0).also { date ->
|
||||||
|
if(listCalendare[i].block != null){
|
||||||
|
Log.i("listCalendare[i].block",listCalendare[i].block)
|
||||||
|
add(Flight(date.atTime(0, 0), "Блокировка", R.color.red_800))
|
||||||
|
}
|
||||||
|
else if(listCalendare[i].pause != null){
|
||||||
|
add(Flight(date.atTime(0, 0), "Пауза", R.color.example_7_yellow))
|
||||||
|
}
|
||||||
|
if(listCalendare[i].id_after_questionnaire != null){
|
||||||
|
add(Flight(date.atTime(0, 0), "Выполнена тренировка", R.color.green_700))
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if(listCalendare[i].block == null){
|
||||||
|
add(Flight(date.atTime(0, 0), "День комплекса", R.color.blue_800))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressLint("NewApi")
|
||||||
|
val flightDateTimeFormatter: DateTimeFormatter =
|
||||||
|
DateTimeFormatter.ofPattern("EEE'\n'dd MMM'\n'HH:mm")
|
|
@ -1,4 +1,4 @@
|
||||||
package com.example.calendarev2.sample.shared
|
package com.example.rehabilitation.Calendare.Calendare.shared
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
|
@ -10,7 +10,7 @@ import androidx.core.content.ContextCompat
|
||||||
import androidx.core.graphics.ColorUtils
|
import androidx.core.graphics.ColorUtils
|
||||||
import androidx.lifecycle.DefaultLifecycleObserver
|
import androidx.lifecycle.DefaultLifecycleObserver
|
||||||
import androidx.lifecycle.LifecycleOwner
|
import androidx.lifecycle.LifecycleOwner
|
||||||
import com.example.calendarev2.R
|
import com.example.rehabilitation.R
|
||||||
|
|
||||||
import java.lang.ref.WeakReference
|
import java.lang.ref.WeakReference
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.example.calendarev2.sample.shared
|
package com.example.rehabilitation.Calendare.Calendare.shared
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.app.Activity
|
import android.app.Activity
|
|
@ -1,9 +1,13 @@
|
||||||
package com.example.calendarev2
|
package com.example.rehabilitation.Calendare.Calendare
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.example.calendarev2.databinding.Example5EventItemViewv2Binding
|
import com.example.rehabilitation.Calendare.Calendare.getColorCompat
|
||||||
|
import com.example.rehabilitation.Calendare.Calendare.layoutInflater
|
||||||
|
import com.example.rehabilitation.Calendare.Calendare.shared.Flight
|
||||||
|
import com.example.rehabilitation.Calendare.Calendare.shared.flightDateTimeFormatter
|
||||||
|
import com.example.rehabilitation.databinding.Example5EventItemViewv2Binding
|
||||||
|
|
||||||
|
|
||||||
class CalendareAdapter :
|
class CalendareAdapter :
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
package com.example.rehabilitation.Calendare
|
||||||
|
|
||||||
|
data class CalendareListModel(
|
||||||
|
val сalendare: List<CalendareModel>
|
||||||
|
)
|
|
@ -0,0 +1,19 @@
|
||||||
|
package com.example.rehabilitation.Calendare
|
||||||
|
|
||||||
|
data class CalendareModel(
|
||||||
|
val id: Int,
|
||||||
|
val id_patient : Int,
|
||||||
|
val day: String,
|
||||||
|
val date: String,
|
||||||
|
val count_workout_max:Int,
|
||||||
|
val count_workout_make: Int,
|
||||||
|
val id_sets_of_sports_activities : Int,
|
||||||
|
val article_sport_for_day: String,
|
||||||
|
val id_sport_patient :Int,
|
||||||
|
val block: String,
|
||||||
|
val pause: String,
|
||||||
|
val id_before_questionnaire : String,
|
||||||
|
val id_after_questionnaire : String,
|
||||||
|
val created_at : String,
|
||||||
|
val updated_at : String,
|
||||||
|
)
|
|
@ -1,10 +1,11 @@
|
||||||
package com.example.rehabilitation
|
package com.example.rehabilitation
|
||||||
|
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import com.example.rehabilitation.model_adapter.Month.MonthModel
|
import com.example.rehabilitation.Calendare.CalendareModel
|
||||||
import com.example.rehabilitation.model_adapter.Progress.AfterListModel
|
import com.example.rehabilitation.Sport.Image.ImageSportModel
|
||||||
import com.example.rehabilitation.model_adapter.Progress.BeforeListModel
|
import com.example.rehabilitation.Progress.AfterListModel
|
||||||
import com.example.rehabilitation.model_adapter.Progress.ProgressModel
|
import com.example.rehabilitation.Progress.BeforeListModel
|
||||||
|
import com.example.rehabilitation.Progress.ProgressModel
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileOutputStream
|
import java.io.FileOutputStream
|
||||||
|
|
||||||
|
@ -12,18 +13,20 @@ import java.io.FileOutputStream
|
||||||
|
|
||||||
var prefUserPatientToken: SharedPreferences? = null
|
var prefUserPatientToken: SharedPreferences? = null
|
||||||
var UserPatientToken:String = ""
|
var UserPatientToken:String = ""
|
||||||
var prefUserDoctorToken: SharedPreferences? = null
|
|
||||||
var UserDoctorToken:String = ""
|
|
||||||
var prefPatientDoctorNew: SharedPreferences? = null
|
|
||||||
var PatientDoctorNew:Int = 0
|
|
||||||
|
|
||||||
var pref: SharedPreferences? = null
|
var pref: SharedPreferences? = null
|
||||||
var prefDoctor: SharedPreferences? = null
|
|
||||||
|
//Общее количество дней курса
|
||||||
|
var prefSportCursDayAll: SharedPreferences? = null
|
||||||
|
var SportCursDayAll :Int = 0
|
||||||
|
var prefSportCursDayLast: SharedPreferences? = null
|
||||||
|
var SportCursDayLast :String = ""
|
||||||
|
|
||||||
var prefSportCursNumber: SharedPreferences? = null
|
var prefSportCursNumber: SharedPreferences? = null
|
||||||
var prefCursDay: SharedPreferences? = null
|
var prefCursDay: SharedPreferences? = null
|
||||||
var SportCursDay :Int = 0
|
var SportCursDay :Int = 0
|
||||||
|
|
||||||
|
|
||||||
//7 дней пройдено
|
//7 дней пройдено
|
||||||
var prefSport7Day: SharedPreferences? = null
|
var prefSport7Day: SharedPreferences? = null
|
||||||
var Sport7Day :Int = 0
|
var Sport7Day :Int = 0
|
||||||
|
@ -127,11 +130,14 @@ var listAfter:List<AfterListModel> = listOf()
|
||||||
//Прогрес
|
//Прогрес
|
||||||
var listProgressAll:List<ProgressModel> = listOf()
|
var listProgressAll:List<ProgressModel> = listOf()
|
||||||
var listProgressCheck:List<ProgressModel> = listOf()
|
var listProgressCheck:List<ProgressModel> = listOf()
|
||||||
|
var listImageSport:List<ImageSportModel> = listOf()
|
||||||
|
|
||||||
var uriFileEF: File? =null
|
var uriFileEF: File? =null
|
||||||
var fileUri2: FileOutputStream? =null
|
var fileUri2: FileOutputStream? =null
|
||||||
//Переменная для хранения дня, чтобы при нажатие на главной тсранице или в календаре
|
//Переменная для хранения дня, чтобы при нажатие на главной тсранице или в календаре
|
||||||
var dateHomeCalendare:String = ""
|
var dateHomeCalendare:String = ""
|
||||||
|
|
||||||
|
//Календарь
|
||||||
|
var listCalendare:List<CalendareModel> = listOf()
|
||||||
class Hranilihe {
|
class Hranilihe {
|
||||||
}
|
}
|
|
@ -6,6 +6,7 @@ import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import com.example.rehabilitation.R
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InformationFragment
|
||||||
import com.example.rehabilitation.databinding.FragmentCommonInfoBinding
|
import com.example.rehabilitation.databinding.FragmentCommonInfoBinding
|
||||||
|
|
||||||
class CommonInfoFragment : Fragment() {
|
class CommonInfoFragment : Fragment() {
|
||||||
|
@ -17,6 +18,18 @@ class CommonInfoFragment : Fragment() {
|
||||||
): View? {
|
): View? {
|
||||||
binding = FragmentCommonInfoBinding.inflate(inflater, container, false)
|
binding = FragmentCommonInfoBinding.inflate(inflater, container, false)
|
||||||
return binding.root
|
return binding.root
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InformationFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// override fun onResume() {
|
// override fun onResume() {
|
|
@ -6,6 +6,7 @@ import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import com.example.rehabilitation.R
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InformationFragment
|
||||||
import com.example.rehabilitation.databinding.FragmentMedicalReabilitationBinding
|
import com.example.rehabilitation.databinding.FragmentMedicalReabilitationBinding
|
||||||
|
|
||||||
class MedicalReabilitationFragment : Fragment() {
|
class MedicalReabilitationFragment : Fragment() {
|
||||||
|
@ -15,8 +16,18 @@ class MedicalReabilitationFragment : Fragment() {
|
||||||
inflater: LayoutInflater, container: ViewGroup?,
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View? {
|
||||||
binding = FragmentMedicalReabilitationBinding.inflate(inflater, container, false)
|
binding = FragmentMedicalReabilitationBinding.inflate(layoutInflater, container, false)
|
||||||
return inflater.inflate(R.layout.fragment_medical_reabilitation, container, false)
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InformationFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// override fun onResume() {
|
// override fun onResume() {
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentBreathingExercisesBinding
|
||||||
|
|
||||||
|
class BreathingExercisesFragment : Fragment() {
|
||||||
|
private lateinit var binding:FragmentBreathingExercisesBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentBreathingExercisesBinding.inflate(layoutInflater, container, false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.DecongestantTherapy.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.DecongestantTherapyFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.BreathingExercisesFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentContourPreventionBinding
|
||||||
|
|
||||||
|
|
||||||
|
class ContourPreventionFragment : Fragment() {
|
||||||
|
private lateinit var binding:FragmentContourPreventionBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentContourPreventionBinding.inflate(layoutInflater, container, false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnPhantomPains.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.PhantomPainsFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.ContourPreventionFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentDecongestantTherapyBinding
|
||||||
|
|
||||||
|
class DecongestantTherapyFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentDecongestantTherapyBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentDecongestantTherapyBinding.inflate(layoutInflater, container, false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnContracturesPrevention.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.ContourPreventionFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.DecongestantTherapyFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentFormationOfTheStumpBinding
|
||||||
|
|
||||||
|
|
||||||
|
class FormationOfTheStumpFragment : Fragment() {
|
||||||
|
private lateinit var binding:FragmentFormationOfTheStumpBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentFormationOfTheStumpBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnPhysicalExercises.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.PhysicalExercisesFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.FormationOfTheStumpFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentMotorModeBinding
|
||||||
|
|
||||||
|
class MotorModeFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentMotorModeBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentMotorModeBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnStumpCare.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.StumpCareFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.MotorModeFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentOrganizationOfTheDailyRoutineAfterSurgeryBinding
|
||||||
|
|
||||||
|
|
||||||
|
class OrganizationOfTheDailyRoutineAfterSurgeryFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentOrganizationOfTheDailyRoutineAfterSurgeryBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentOrganizationOfTheDailyRoutineAfterSurgeryBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnOrganizationOfTheDayRegimeOfTheSecondWeekAfterAmputation.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.OrganizationOfTheDayRegimeOfTheSecondWeekAfterAmputationFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.OrganizationOfTheDailyRoutineAfterSurgeryFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentOrganizationOfTheDayRegimeOfTheSecondWeekAfterAmputationBinding
|
||||||
|
|
||||||
|
class OrganizationOfTheDayRegimeOfTheSecondWeekAfterAmputationFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentOrganizationOfTheDayRegimeOfTheSecondWeekAfterAmputationBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentOrganizationOfTheDayRegimeOfTheSecondWeekAfterAmputationBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.OrganizationOfTheDayRegimeOfTheSecondWeekAfterAmputationFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentPhantomPainsBinding
|
||||||
|
|
||||||
|
class PhantomPainsFragment : Fragment() {
|
||||||
|
private lateinit var binding:FragmentPhantomPainsBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentPhantomPainsBinding.inflate(layoutInflater, container, false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnSurfaceSensitivity.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.SurfaceSensitivityFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.PhantomPainsFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentPhysicalExercisesBinding
|
||||||
|
|
||||||
|
class PhysicalExercisesFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentPhysicalExercisesBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentPhysicalExercisesBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnOrganizationOfTheDailyRoutineAfterSurgery.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.OrganizationOfTheDailyRoutineAfterSurgeryFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.PhysicalExercisesFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentStumpCareBinding
|
||||||
|
|
||||||
|
|
||||||
|
class StumpCareFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentStumpCareBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentStumpCareBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnBreathingExercises.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.BreathingExercisesFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.StumpCareFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentSurfaceSensitivityBinding
|
||||||
|
|
||||||
|
class SurfaceSensitivityFragment : Fragment() {
|
||||||
|
private lateinit var binding:FragmentSurfaceSensitivityBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentSurfaceSensitivityBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnFormationOfTheStump.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.FormationOfTheStumpFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.SurfaceSensitivityFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,111 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.BreathingExercisesFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.ContourPreventionFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.DecongestantTherapyFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.FormationOfTheStumpFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.MotorModeFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.OrganizationOfTheDailyRoutineAfterSurgeryFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.OrganizationOfTheDayRegimeOfTheSecondWeekAfterAmputationFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.PhantomPainsFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.PhysicalExercisesFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.StumpCareFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.SurfaceSensitivityFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendationsFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentEarlyPostoperativePeriodBinding
|
||||||
|
|
||||||
|
class EarlyPostoperativePeriodFragment : Fragment() {
|
||||||
|
private lateinit var binding:FragmentEarlyPostoperativePeriodBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentEarlyPostoperativePeriodBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
binding.btnMotorMode.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.MotorModeFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnStumpCare.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.StumpCareFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnBreathingExercises.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.BreathingExercisesFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.DecongestantTherapy.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.DecongestantTherapyFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnContracturesPrevention.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.ContourPreventionFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnPhantomPains.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.PhantomPainsFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendationsFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnFurther.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnSurfaceSensitivity.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.SurfaceSensitivityFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnFormationOfTheStump.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.FormationOfTheStumpFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnPhysicalExercises.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.PhysicalExercisesFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnOrganizationOfTheDailyRoutineAfterSurgery.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.OrganizationOfTheDailyRoutineAfterSurgeryFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnOrganizationOfTheDayRegimeOfTheSecondWeekAfterAmputation.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriod.OrganizationOfTheDayRegimeOfTheSecondWeekAfterAmputationFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentDecongestantTherapyLateBinding
|
||||||
|
|
||||||
|
class DecongestantTherapyLateFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentDecongestantTherapyLateBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentDecongestantTherapyLateBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(
|
||||||
|
R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnMassageTechniqueLate.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.MassageTechniqueLateFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.DecongestantTherapyLateFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentMassageTechniqueLateBinding
|
||||||
|
|
||||||
|
|
||||||
|
class MassageTechniqueLateFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentMassageTechniqueLateBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentMassageTechniqueLateBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnPreventionOfContracturesLate.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.PreventionOfContracturesLateFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.MassageTechniqueLateFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentPhantomPainsLateBinding
|
||||||
|
|
||||||
|
|
||||||
|
class PhantomPainsLateFragment : Fragment() {
|
||||||
|
private lateinit var binding:FragmentPhantomPainsLateBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentPhantomPainsLateBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(
|
||||||
|
R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.PhantomPainsLateFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentPreparationForProstheticsLateBinding
|
||||||
|
|
||||||
|
|
||||||
|
class PreparationForProstheticsLateFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentPreparationForProstheticsLateBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentPreparationForProstheticsLateBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(
|
||||||
|
R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnDecongestantTherapyLate.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.DecongestantTherapyLateFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.PreparationForProstheticsLateFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentPreventionOfContracturesLateBinding
|
||||||
|
|
||||||
|
class PreventionOfContracturesLateFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentPreventionOfContracturesLateBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentPreventionOfContracturesLateBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnPhantomPainsLate.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.PhantomPainsLateFragment.Companion.newInstance()
|
||||||
|
)?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.PreventionOfContracturesLateFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,63 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.DecongestantTherapyLateFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.MassageTechniqueLateFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.PhantomPainsLateFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.PreparationForProstheticsLateFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.PreventionOfContracturesLateFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendationsFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentLatePostoperativePeriodBinding
|
||||||
|
|
||||||
|
class LatePostoperativePeriodFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentLatePostoperativePeriodBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentLatePostoperativePeriodBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendationsFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnPreparationForProstheticsLate.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.PreparationForProstheticsLateFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnDecongestantTherapyLate.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.DecongestantTherapyLateFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnMassageTechniqueLate.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.MassageTechniqueLateFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnPreventionOfContracturesLate.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.PreventionOfContracturesLateFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
binding.btnPhantomPainsLate.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriod.PhantomPainsLateFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.example.rehabilitation.Information.InfoFragment
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment
|
||||||
|
import com.example.rehabilitation.Information.InformationFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentMethodologicalRecommendationsBinding
|
||||||
|
|
||||||
|
class MethodologicalRecommendationsFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentMethodologicalRecommendationsBinding
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentMethodologicalRecommendationsBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InformationFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnEarlyPostoperativePeriod.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.EarlyPostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnLatePostoperativePeriod.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendations.LatePostoperativePeriodFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun newInstance() =
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendationsFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,6 +6,7 @@ import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import com.example.rehabilitation.R
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InformationFragment
|
||||||
import com.example.rehabilitation.databinding.FragmentFaqBinding
|
import com.example.rehabilitation.databinding.FragmentFaqBinding
|
||||||
|
|
||||||
class faqFragment : Fragment() {
|
class faqFragment : Fragment() {
|
||||||
|
@ -22,6 +23,15 @@ class faqFragment : Fragment() {
|
||||||
return binding.root
|
return binding.root
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
binding.btnExit.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InformationFragment.newInstance())?.addToBackStack(null)?.commit()
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// override fun onResume() {
|
// override fun onResume() {
|
||||||
// super.onResume()
|
// super.onResume()
|
||||||
// binding.CLFaq.visibility = View.VISIBLE
|
// binding.CLFaq.visibility = View.VISIBLE
|
|
@ -1,11 +1,10 @@
|
||||||
package com.example.rehabilitation
|
package com.example.rehabilitation.Information
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.appcompat.app.AlertDialog
|
import com.example.rehabilitation.MainActivity
|
||||||
import com.example.rehabilitation.User.fragmentUser.InformationFragment
|
import com.example.rehabilitation.R
|
||||||
import com.example.rehabilitation.User.fragmentUser.SceduleFragment
|
|
||||||
import com.example.rehabilitation.databinding.ActivityInformationBinding
|
import com.example.rehabilitation.databinding.ActivityInformationBinding
|
||||||
|
|
||||||
class InformationActivity : AppCompatActivity() {
|
class InformationActivity : AppCompatActivity() {
|
|
@ -0,0 +1,105 @@
|
||||||
|
package com.example.rehabilitation.Information
|
||||||
|
|
||||||
|
import android.content.Intent
|
||||||
|
import android.net.Uri
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import com.example.rehabilitation.MainActivity
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendationsFragment
|
||||||
|
import com.example.rehabilitation.MainFragment
|
||||||
|
import com.example.rehabilitation.Setting.SettingFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentInformationBinding
|
||||||
|
import com.example.rehabilitation.fragment.InfoFragment.CommonInfoFragment
|
||||||
|
import com.example.rehabilitation.fragment.InfoFragment.MedicalReabilitationFragment
|
||||||
|
import com.example.rehabilitation.fragment.InfoFragment.faqFragment
|
||||||
|
|
||||||
|
|
||||||
|
class InformationFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentInformationBinding
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentInformationBinding.inflate(layoutInflater, container, false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
if(isAdded()) {
|
||||||
|
//Выход со страницы
|
||||||
|
binding.btnExitInformation.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
?.replace(R.id.CLMain, MainFragment.newInstance())
|
||||||
|
?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.methodologicalRecommendationsButton.setOnClickListener {
|
||||||
|
val infoFrag = activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
infoFrag?.replace(
|
||||||
|
R.id.CLInformation,
|
||||||
|
com.example.rehabilitation.Information.InfoFragment.MethodologicalRecommendationsFragment.newInstance()
|
||||||
|
)
|
||||||
|
infoFrag?.addToBackStack(null)
|
||||||
|
infoFrag?.commit()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.commonInformationButton.setOnClickListener {
|
||||||
|
val infoFrag = activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
infoFrag?.replace(R.id.CLInformation, CommonInfoFragment.newInstance())
|
||||||
|
infoFrag?.addToBackStack(null)
|
||||||
|
infoFrag?.commit()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.frequentlyAskedQuestionsButton.setOnClickListener {
|
||||||
|
val infoFrag = activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
infoFrag?.replace(R.id.CLInformation, faqFragment.newInstance())
|
||||||
|
infoFrag?.addToBackStack(null)
|
||||||
|
infoFrag?.commit()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.medicalReabilitationButton.setOnClickListener {
|
||||||
|
val infoFrag = activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
infoFrag?.replace(R.id.CLInformation, MedicalReabilitationFragment.newInstance())
|
||||||
|
infoFrag?.addToBackStack(null)
|
||||||
|
infoFrag?.commit()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.fondButton.setOnClickListener {
|
||||||
|
val i = Intent(
|
||||||
|
Intent.ACTION_VIEW,
|
||||||
|
Uri.parse("https://фонд-защитники-отечества.рф/filials")
|
||||||
|
)
|
||||||
|
startActivity(i)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// override fun onDestroy() {
|
||||||
|
// super.onDestroy()
|
||||||
|
// activity?.finish()
|
||||||
|
//
|
||||||
|
// binding.CLFragmentInformation.visibility = View.GONE
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// override fun onResume() {
|
||||||
|
// super.onResume()
|
||||||
|
// binding.CLFragmentInformation.visibility = View.VISIBLE
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() = com.example.rehabilitation.Information.InformationFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,45 +1,31 @@
|
||||||
package com.example.rehabilitation
|
package com.example.rehabilitation
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.icu.text.SimpleDateFormat
|
|
||||||
import android.icu.util.Calendar
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.activity.viewModels
|
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.app.ActivityCompat
|
import com.example.rehabilitation.Auth.AuthFragment
|
||||||
import androidx.core.view.GravityCompat
|
import com.example.rehabilitation.Pref.ConclusionPref
|
||||||
import androidx.lifecycle.LifecycleOwner
|
import com.example.rehabilitation.Retrofit.PatientApi
|
||||||
import com.example.rehabilitation.Auth.AuthDoctorActivity
|
|
||||||
import com.example.rehabilitation.Auth.AuthorizationActivity
|
|
||||||
import com.example.rehabilitation.User.fragmentUser.CalendarFragment
|
|
||||||
import com.example.rehabilitation.User.fragmentUser.HomeFragment
|
|
||||||
import com.example.rehabilitation.User.fragmentUser.InformationFragment
|
|
||||||
import com.example.rehabilitation.User.fragmentUser.ProgresFragment
|
|
||||||
import com.example.rehabilitation.User.fragmentUser.SceduleFragment
|
|
||||||
import com.example.rehabilitation.databinding.ActivityMainBinding
|
import com.example.rehabilitation.databinding.ActivityMainBinding
|
||||||
import com.example.rehabilitation.model_adapter.DataModel
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import com.google.firebase.database.ktx.database
|
import kotlinx.coroutines.Dispatchers
|
||||||
import com.google.firebase.ktx.Firebase
|
import kotlinx.coroutines.launch
|
||||||
import java.time.LocalDate
|
import okhttp3.OkHttpClient
|
||||||
import java.util.Date
|
import okhttp3.logging.HttpLoggingInterceptor
|
||||||
|
import retrofit2.Retrofit
|
||||||
|
import retrofit2.converter.gson.GsonConverterFactory
|
||||||
|
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
|
|
||||||
var backPressedTime: Long = 0
|
|
||||||
|
|
||||||
private lateinit var binding: ActivityMainBinding
|
private lateinit var binding: ActivityMainBinding
|
||||||
//Для постоянного охаранения данных(для токена)
|
private lateinit var patientApi: PatientApi
|
||||||
//var pref: SharedPreferences? = null
|
|
||||||
private val dataModel: DataModel by viewModels()//Для передачи данных
|
//Токен
|
||||||
var sdf: SimpleDateFormat = SimpleDateFormat("EEEE")
|
private var Token = ""
|
||||||
var d: Date = Date()
|
val prefPatientConclusion = ConclusionPref()
|
||||||
var dayOfTheWeek: String = sdf.format(d)
|
var backPressedTime: Long = 0
|
||||||
|
|
||||||
|
|
||||||
@SuppressLint("DiscouragedApi")
|
@SuppressLint("DiscouragedApi")
|
||||||
|
@ -48,188 +34,105 @@ class MainActivity : AppCompatActivity() {
|
||||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
//Функция инициализации хранилиша для токена
|
|
||||||
data_prefUserPatientToken()
|
|
||||||
|
|
||||||
|
|
||||||
dataModel.fragmentMenu.observe(this as LifecycleOwner, {
|
|
||||||
binding.buttonNavigation.selectedItemId = it
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
//Функция инициализации фрагметов
|
|
||||||
fragment_inicializ()
|
|
||||||
|
|
||||||
/*binding.button.setOnClickListener {
|
|
||||||
val intent = Intent(this,MainActivity2::class.java)//Открытие окна
|
|
||||||
startActivity(intent)
|
|
||||||
}*/
|
|
||||||
|
|
||||||
binding.btnSetting.setOnClickListener {
|
|
||||||
val intent = Intent(this, SettingActivity::class.java)
|
|
||||||
startActivity(intent)
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
|
|
||||||
binding.btnInformation.setOnClickListener {
|
|
||||||
val intent = Intent(this, InformationActivity::class.java)
|
|
||||||
startActivity(intent)
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
val database = Firebase.database
|
|
||||||
val myRef = database.getReference("message1235322")
|
|
||||||
|
|
||||||
myRef.setValue("Hello, World!")
|
|
||||||
//binding.imageView3.resources.getIdentifier("b3_1","drawable",this.packageName);
|
|
||||||
|
|
||||||
|
|
||||||
//Выводим сегоднящнюю дату
|
|
||||||
addDate()
|
|
||||||
|
|
||||||
|
|
||||||
|
initRetrofit()
|
||||||
|
|
||||||
|
MainAndAuth()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBackPressed() {
|
|
||||||
if (backPressedTime + 3000 > System.currentTimeMillis()) {
|
fun MainAndAuth() {
|
||||||
super.onBackPressed()
|
Token = prefPatientConclusion.conclusionToken(this)
|
||||||
finish()
|
Log.i("sadasdsadsd",Token)
|
||||||
|
//CheckTokenAuth(Token)
|
||||||
|
if (Token == "") {
|
||||||
|
Auth()
|
||||||
} else {
|
} else {
|
||||||
AlertDialog.Builder(this@MainActivity)
|
CheckTokenAuth(Token)
|
||||||
.setTitle("Выйти")
|
|
||||||
.setMessage("Вы точно хотите выйти из приложения?")
|
|
||||||
.setPositiveButton("Да") { dialog, whichButton ->
|
|
||||||
super.onBackPressed()
|
|
||||||
}
|
|
||||||
.setNegativeButton("Нет") { dialog, whichButton ->
|
|
||||||
|
|
||||||
}
|
|
||||||
.show()
|
|
||||||
}
|
}
|
||||||
backPressedTime = System.currentTimeMillis()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addDate() {
|
fun Auth() {
|
||||||
val calendar: Calendar = Calendar.getInstance()
|
//Вывод фрагмента на активити при первоначальной загрузке
|
||||||
val sdf: SimpleDateFormat = SimpleDateFormat("EEEE")
|
supportFragmentManager.beginTransaction()
|
||||||
val d: Date = Date()
|
.replace(R.id.CLMain, AuthFragment.newInstance())
|
||||||
val DayOfTheWeek: String = sdf.format(d)
|
.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
||||||
val Day = calendar.get(Calendar.DATE)
|
|
||||||
val Month = calendar.get(Calendar.MONTH).plus(1)
|
|
||||||
var day = Day.toString()
|
|
||||||
var month = ""
|
|
||||||
var date_of_the_week = ""
|
|
||||||
|
|
||||||
when (Month) {
|
|
||||||
1 -> month="Январь"
|
|
||||||
2 -> month="Февраль"
|
|
||||||
3 -> month="Март"
|
|
||||||
4 -> month="Апрель"
|
|
||||||
5 -> month="Май"
|
|
||||||
6 -> month="Июнь"
|
|
||||||
7 -> month="Июль"
|
|
||||||
8 -> month="Август"
|
|
||||||
9 -> month="Сентябрь"
|
|
||||||
10 -> month="Октябрь"
|
|
||||||
11 -> month="Ноябрь"
|
|
||||||
12 -> month="Декабрь"
|
|
||||||
else -> { // обратите внимание на блок
|
|
||||||
month=""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
when (dayOfTheWeek) {
|
|
||||||
"Monday" -> date_of_the_week="Пн"
|
|
||||||
"Tuesday" -> date_of_the_week="Вт"
|
|
||||||
"Wednesday" -> date_of_the_week="Ср"
|
|
||||||
"Thursday" -> date_of_the_week="Чт"
|
|
||||||
"Friday" -> date_of_the_week="Пт"
|
|
||||||
"Saturday" -> date_of_the_week="Сб"
|
|
||||||
"Sunday" -> date_of_the_week="Вс"
|
|
||||||
"Понедельник" -> date_of_the_week="Пн"
|
|
||||||
"Вторник" -> date_of_the_week="Вт"
|
|
||||||
"Стреда" -> date_of_the_week="Ср"
|
|
||||||
"Четверг" -> date_of_the_week="Чт"
|
|
||||||
"Пятница" -> date_of_the_week="Пт"
|
|
||||||
"Суббота" -> date_of_the_week="Сб"
|
|
||||||
"Воскресенье" -> date_of_the_week="Вс"
|
|
||||||
else -> {
|
|
||||||
date_of_the_week=""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
System.out.println(calendar.get(Calendar.DATE))
|
|
||||||
|
|
||||||
//binding.txtDate.setText("${day}" +" "+ "${month}" +" "+ "(${date_of_the_week})")
|
|
||||||
binding.txtDate.setText("${day}" +" "+ "${month}")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// interface IOnBackPressed {
|
fun Main() {
|
||||||
// fun onBackPressed(): Boolean
|
fragment_inicializ()
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
|
@SuppressLint("SuspiciousIndentation")
|
||||||
|
private fun CheckTokenAuth(token: String) {
|
||||||
|
CoroutineScope(Dispatchers.IO).launch {
|
||||||
|
val response = patientApi.CheckToken("Bearer $token")
|
||||||
|
runOnUiThread {
|
||||||
|
val checkToken = response.body()
|
||||||
|
val user1 = response.code()
|
||||||
|
val userCode = response.isSuccessful()
|
||||||
|
Log.i("12213213213", user1.toString())
|
||||||
|
|
||||||
|
if (userCode) {
|
||||||
|
Main()
|
||||||
|
} else {
|
||||||
|
Auth()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Инициализируем Retrofit
|
||||||
|
private fun initRetrofit() {
|
||||||
|
val interceptor = HttpLoggingInterceptor()
|
||||||
|
interceptor.level = HttpLoggingInterceptor.Level.BODY
|
||||||
|
|
||||||
|
val client = OkHttpClient
|
||||||
|
.Builder()
|
||||||
|
.addInterceptor(interceptor)
|
||||||
|
.build()
|
||||||
|
|
||||||
|
val retrofit = Retrofit.Builder()
|
||||||
|
.baseUrl("http://mobileapp.vmeda.org/api/")
|
||||||
|
.client(client)
|
||||||
|
.addConverterFactory(GsonConverterFactory.create())
|
||||||
|
.build()
|
||||||
|
|
||||||
|
patientApi = retrofit.create(PatientApi::class.java)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun fragment_inicializ() {
|
||||||
|
//Вывод фрагмента на активити при первоначальной загрузке
|
||||||
|
supportFragmentManager.beginTransaction()
|
||||||
|
.replace(R.id.CLMain, MainFragment.newInstance())
|
||||||
|
.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
||||||
|
|
||||||
|
}
|
||||||
// override fun onBackPressed() {
|
// override fun onBackPressed() {
|
||||||
// val fragment =
|
// if (backPressedTime + 3000 > System.currentTimeMillis()) {
|
||||||
// this.supportFragmentManager.findFragmentById(R.id.placeHolderFragment)
|
|
||||||
// (fragment as? IOnBackPressed)?.onBackPressed()?.not()?.let {
|
|
||||||
// super.onBackPressed()
|
// super.onBackPressed()
|
||||||
|
// finish()
|
||||||
|
// } else {
|
||||||
|
// AlertDialog.Builder(this@MainActivity)
|
||||||
|
// .setTitle("Выйти")
|
||||||
|
// .setMessage("Вы точно хотите выйти из приложения?")
|
||||||
|
// .setPositiveButton("Да") { dialog, whichButton ->
|
||||||
|
// super.onBackPressed()
|
||||||
|
// }
|
||||||
|
// .setNegativeButton("Нет") { dialog, whichButton ->
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// .show()
|
||||||
// }
|
// }
|
||||||
// }
|
// backPressedTime = System.currentTimeMillis()
|
||||||
|
|
||||||
// override fun onBackPressed() {
|
|
||||||
// AlertDialog.Builder(this).apply {
|
|
||||||
// setTitle("Подтверждение")
|
|
||||||
// setMessage("Вы уверены, что хотите выйти из программы?")
|
|
||||||
//
|
|
||||||
// setPositiveButton("Таки да") { _, _ ->
|
|
||||||
// super.onBackPressed()
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// setNegativeButton("Нет"){_, _ ->
|
|
||||||
// // if user press no, then return the activity
|
|
||||||
// Toast.makeText(this@MainActivity, "Thank you",
|
|
||||||
// Toast.LENGTH_LONG).show()
|
|
||||||
// }
|
|
||||||
// setCancelable(true)
|
|
||||||
// }.create().show()
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
//Инициализация хранилища(для токена) и проверяем есть ли аккаунт и или перекидываем в авторизацую или остаемся на данном экране
|
|
||||||
fun data_prefUserPatientToken() {
|
|
||||||
prefUserPatientToken = getSharedPreferences("UserPatientToken", Context.MODE_PRIVATE)
|
|
||||||
UserPatientToken = prefUserPatientToken?.getString("userpatienttoken", "")!! //Передаем при запуске страницы в counter данные по ключевому слову "counter", вс лучае если будет пусто то передастся 0
|
|
||||||
|
|
||||||
prefPatientDoctorNew = getSharedPreferences("PatientDoctorNew", Context.MODE_PRIVATE)
|
|
||||||
PatientDoctorNew = prefPatientDoctorNew?.getInt("patientdoctornew", 0)!! //Передаем при запуске страницы в counter данные по ключевому слову "counter", вс лучае если будет пусто то передастся 0
|
|
||||||
|
|
||||||
if (UserPatientToken == ""){
|
|
||||||
if(PatientDoctorNew == 1){
|
|
||||||
val intetn = Intent(this, AuthorizationActivity::class.java)
|
|
||||||
startActivity(intetn)
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
val intetn = Intent(this, AuthDoctorActivity::class.java)
|
|
||||||
startActivity(intetn)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
//Toast.makeText(this, "Добро пожаловать", Toast.LENGTH_SHORT).show()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//Записываем число
|
|
||||||
fun saveUserPatientToken(userpatienttoken: String) {
|
|
||||||
val editer = prefUserPatientToken?.edit()
|
|
||||||
editer?.putString("userpatienttoken", userpatienttoken)
|
|
||||||
editer?.apply()
|
|
||||||
UserPatientToken = userpatienttoken
|
|
||||||
}
|
|
||||||
override fun onDestroy() {
|
override fun onDestroy() {
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
finish()
|
finish()
|
||||||
|
@ -240,40 +143,8 @@ class MainActivity : AppCompatActivity() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//Инициализация фрагментов
|
|
||||||
fun fragment_inicializ() {
|
|
||||||
//Вывод фрагмента на активити при первоначальной загрузке
|
|
||||||
supportFragmentManager.beginTransaction()
|
|
||||||
.replace(R.id.placeHolderFragment, SceduleFragment.newInstance())
|
|
||||||
.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
|
||||||
|
|
||||||
|
|
||||||
//Эран который будет выбран по умолчанию(кнопка которая будет прожата по умолчанию)
|
|
||||||
binding.buttonNavigation.selectedItemId = R.id.schedule//По умолчанию и так первая, но на всякий случай выберу еще програмным путем первую ячейку
|
|
||||||
|
|
||||||
//Нажатие на bottom navigation
|
|
||||||
binding.buttonNavigation.setOnItemSelectedListener {
|
|
||||||
|
|
||||||
when (it.itemId) {//it.itemId - это id нажатого элемента
|
|
||||||
R.id.schedule -> {
|
|
||||||
supportFragmentManager.beginTransaction().replace(R.id.placeHolderFragment, SceduleFragment.newInstance()).commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
|
||||||
}
|
|
||||||
R.id.calendar -> {
|
|
||||||
supportFragmentManager.beginTransaction().replace(R.id.placeHolderFragment, CalendarFragment.newInstance()).commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
|
||||||
}
|
|
||||||
// R.id.home -> {//Если вы не авторизованный пользваотель то вам не будет доступен доступ к данном фрагменту
|
|
||||||
// supportFragmentManager.beginTransaction().replace(R.id.placeHolderFragment, HomeFragment.newInstance()).commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
|
||||||
// }
|
|
||||||
R.id.progress -> {//Если вы не авторизованный пользваотель то вам не будет доступен доступ к данном фрагменту
|
|
||||||
supportFragmentManager.beginTransaction().replace(R.id.placeHolderFragment, ProgresFragment.newInstance()).commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
|
||||||
}
|
|
||||||
// R.id.information -> {//Если вы не авторизованный пользваотель то вам не будет доступен доступ к данном фрагменту
|
|
||||||
// supportFragmentManager.beginTransaction().replace(R.id.placeHolderFragment, InformationFragment.newInstance()).commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,168 @@
|
||||||
|
package com.example.rehabilitation
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
|
import android.icu.text.SimpleDateFormat
|
||||||
|
import android.icu.util.Calendar
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import androidx.fragment.app.viewModels
|
||||||
|
import androidx.lifecycle.LifecycleOwner
|
||||||
|
import com.example.rehabilitation.Calendare.CalendarFragment
|
||||||
|
import com.example.rehabilitation.Information.InformationFragment
|
||||||
|
import com.example.rehabilitation.Progress.ProgresFragment
|
||||||
|
import com.example.rehabilitation.Setting.SettingFragment
|
||||||
|
import com.example.rehabilitation.Sport.SceduleFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentMainBinding
|
||||||
|
import com.example.rehabilitation.model_adapter.DataModel
|
||||||
|
import java.util.Date
|
||||||
|
|
||||||
|
|
||||||
|
class MainFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentMainBinding
|
||||||
|
|
||||||
|
private val dataModel: DataModel by viewModels()//Для передачи данных
|
||||||
|
@SuppressLint("SimpleDateFormat")
|
||||||
|
var sdf: SimpleDateFormat = SimpleDateFormat("EEEE")
|
||||||
|
var d: Date = Date()
|
||||||
|
var dayOfTheWeek: String = sdf.format(d)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentMainBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
if(isAdded) {
|
||||||
|
main_inicializ()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fun main_inicializ(){
|
||||||
|
|
||||||
|
dataModel.fragmentMenu.observe(this as LifecycleOwner, {
|
||||||
|
binding.buttonNavigation.selectedItemId = it
|
||||||
|
})
|
||||||
|
|
||||||
|
//Функция инициализации фрагметов
|
||||||
|
fragment_inicializ()
|
||||||
|
|
||||||
|
binding.btnSetting.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
?.replace(R.id.CLMain, SettingFragment.newInstance())
|
||||||
|
//?.addToBackStack(null)
|
||||||
|
?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.btnInformation.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
?.replace(R.id.CLMain, InformationFragment.newInstance())
|
||||||
|
//?.addToBackStack(null)
|
||||||
|
?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
//Выводим сегоднящнюю дату
|
||||||
|
addDate()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Инициализация фрагментов
|
||||||
|
fun fragment_inicializ() {
|
||||||
|
//Вывод фрагмента на активити при первоначальной загрузке
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
?.replace(R.id.placeHolderFragment, SceduleFragment.newInstance())
|
||||||
|
?.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
||||||
|
|
||||||
|
|
||||||
|
//Эран который будет выбран по умолчанию(кнопка которая будет прожата по умолчанию)
|
||||||
|
binding.buttonNavigation.selectedItemId = R.id.schedule//По умолчанию и так первая, но на всякий случай выберу еще програмным путем первую ячейку
|
||||||
|
|
||||||
|
//Нажатие на bottom navigation
|
||||||
|
binding.buttonNavigation.setOnItemSelectedListener {
|
||||||
|
|
||||||
|
when (it.itemId) {//it.itemId - это id нажатого элемента
|
||||||
|
R.id.schedule -> {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.placeHolderFragment, SceduleFragment.newInstance())?.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
||||||
|
}
|
||||||
|
R.id.calendar -> {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.placeHolderFragment, CalendarFragment.newInstance())?.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
||||||
|
}
|
||||||
|
R.id.progress -> {//Если вы не авторизованный пользваотель то вам не будет доступен доступ к данном фрагменту
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.placeHolderFragment, ProgresFragment.newInstance())?.commit()//Заменяем наш экран на фрагмент (используем наш экран как основу)//R.id.placeHolder - куда всталяем //MainFragment.newInstance() - это то что мы вставляем
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private fun addDate() {
|
||||||
|
val calendar: Calendar = Calendar.getInstance()
|
||||||
|
val sdf: SimpleDateFormat = SimpleDateFormat("EEEE")
|
||||||
|
val d: Date = Date()
|
||||||
|
val DayOfTheWeek: String = sdf.format(d)
|
||||||
|
val Day = calendar.get(Calendar.DATE)
|
||||||
|
val Month = calendar.get(Calendar.MONTH).plus(1)
|
||||||
|
var day = Day.toString()
|
||||||
|
var month = ""
|
||||||
|
var date_of_the_week = ""
|
||||||
|
|
||||||
|
when (Month) {
|
||||||
|
1 -> month="Январь"
|
||||||
|
2 -> month="Февраль"
|
||||||
|
3 -> month="Март"
|
||||||
|
4 -> month="Апрель"
|
||||||
|
5 -> month="Май"
|
||||||
|
6 -> month="Июнь"
|
||||||
|
7 -> month="Июль"
|
||||||
|
8 -> month="Август"
|
||||||
|
9 -> month="Сентябрь"
|
||||||
|
10 -> month="Октябрь"
|
||||||
|
11 -> month="Ноябрь"
|
||||||
|
12 -> month="Декабрь"
|
||||||
|
else -> { // обратите внимание на блок
|
||||||
|
month=""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
when (dayOfTheWeek) {
|
||||||
|
"Monday" -> date_of_the_week="Пн"
|
||||||
|
"Tuesday" -> date_of_the_week="Вт"
|
||||||
|
"Wednesday" -> date_of_the_week="Ср"
|
||||||
|
"Thursday" -> date_of_the_week="Чт"
|
||||||
|
"Friday" -> date_of_the_week="Пт"
|
||||||
|
"Saturday" -> date_of_the_week="Сб"
|
||||||
|
"Sunday" -> date_of_the_week="Вс"
|
||||||
|
"Понедельник" -> date_of_the_week="Пн"
|
||||||
|
"Вторник" -> date_of_the_week="Вт"
|
||||||
|
"Стреда" -> date_of_the_week="Ср"
|
||||||
|
"Четверг" -> date_of_the_week="Чт"
|
||||||
|
"Пятница" -> date_of_the_week="Пт"
|
||||||
|
"Суббота" -> date_of_the_week="Сб"
|
||||||
|
"Воскресенье" -> date_of_the_week="Вс"
|
||||||
|
else -> {
|
||||||
|
date_of_the_week=""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(calendar.get(Calendar.DATE))
|
||||||
|
binding.txtDate.setText("${day}" +" "+ "${month}")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun newInstance() = MainFragment()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
package com.example.rehabilitation
|
||||||
|
|
||||||
|
data class MessageModel(
|
||||||
|
val message: String,
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,141 @@
|
||||||
|
package com.example.rehabilitation.Mysorka
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.util.Log
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import androidx.fragment.app.activityViewModels
|
||||||
|
import androidx.lifecycle.asLiveData
|
||||||
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.databinding.FragmentHomeBinding
|
||||||
|
import com.example.rehabilitation.dateHomeCalendare
|
||||||
|
import com.example.rehabilitation.model_adapter.DataModel
|
||||||
|
import com.example.rehabilitation.Sport.DayAdapter
|
||||||
|
import com.example.rehabilitation.Sport.DayListModel
|
||||||
|
import com.example.rehabilitation.Sport.SportForDayModel
|
||||||
|
import com.example.rehabilitation.model_adapter.modelCount.CountDayModel
|
||||||
|
import com.example.sqlitework.dip.MainViewModel
|
||||||
|
import java.time.LocalDate
|
||||||
|
|
||||||
|
class HomeFragment : Fragment()/*, DayAdapter.Listener*/ {
|
||||||
|
private lateinit var binding: FragmentHomeBinding
|
||||||
|
// private val model: MainViewModel by activityViewModels()//Инициализировали класс
|
||||||
|
// lateinit var adapterDay: DayAdapter
|
||||||
|
// //private val dataModel: DataModel by activityViewModels()//Для передачи данных
|
||||||
|
// private val dataModel: DataModel by activityViewModels()//Для передачи данных
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentHomeBinding.inflate(layoutInflater,container,false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
// super.onViewCreated(view, savedInstanceState)
|
||||||
|
// initRcViewDay()
|
||||||
|
//
|
||||||
|
// model.liveDayList.observe(viewLifecycleOwner) {//viewLifecycleOwner - следит за циклом жизни fragment
|
||||||
|
// adapterDay.submitList(it)//Напрямую переадем созданный список в adapter(ProductAdapter)
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// progresMonthAndDay()
|
||||||
|
// liveCountDayCurrent()
|
||||||
|
// addListModelCardsDay(LocalDate.now().toString())
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// //Инициализация экрана уведобляющего о том что курса нету
|
||||||
|
// fun viewSportNo(){
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// //Заполнения модели и списка
|
||||||
|
// private fun addListModelCardsDay(day:String){
|
||||||
|
//
|
||||||
|
//// val db = MainDB.getDB(requireContext())
|
||||||
|
//// val list = ArrayList<DayListModel>()
|
||||||
|
//// db.getDaoDaySport().getAllItemDaySport(day).asLiveData().observe(requireActivity()){itList->
|
||||||
|
//// var number = 1;
|
||||||
|
////
|
||||||
|
//// itList.forEach{
|
||||||
|
//// Log.d("123",it.category)
|
||||||
|
//// //db.getDaoSportCategory().getAllItemsSportCategory(it.category).asLiveData().observe(requireActivity()){itSport->
|
||||||
|
//// val itemDay = DayListModel(
|
||||||
|
//// it.id.toString(),
|
||||||
|
//// number++.toString(),
|
||||||
|
//// day,
|
||||||
|
//// it.category.toString(),
|
||||||
|
//// it.check.toString(),
|
||||||
|
//// )
|
||||||
|
//// list.add(itemDay)//Передали заполненый список
|
||||||
|
//// model.liveDayList.value = list
|
||||||
|
//// //}
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// Log.d("sadas",list.toString())
|
||||||
|
//// }
|
||||||
|
// }
|
||||||
|
// private fun progresMonthAndDay() {
|
||||||
|
//// val db = MainDB.getDB(requireContext())
|
||||||
|
//// val data= LocalDate.now().toString()
|
||||||
|
////
|
||||||
|
//// var listDayDown =0
|
||||||
|
//// var listDayAll =0
|
||||||
|
//// var name = ""
|
||||||
|
//// //Прогрес за в течение данного дня
|
||||||
|
//// db.getDaoDaySport().getAllItemDaySport(LocalDate.now().toString()).asLiveData().observe(requireActivity()){itList->
|
||||||
|
//// var number = 1;
|
||||||
|
////
|
||||||
|
//// itList.forEach{
|
||||||
|
////
|
||||||
|
//// if(it.check ==1){
|
||||||
|
//// listDayDown=listDayDown+1
|
||||||
|
//// listDayAll=listDayAll+1
|
||||||
|
//// }
|
||||||
|
//// else{
|
||||||
|
//// listDayAll=listDayAll+1
|
||||||
|
//// }
|
||||||
|
//// }
|
||||||
|
//// val item = CountDayModel(
|
||||||
|
//// listDayDown,
|
||||||
|
//// listDayAll
|
||||||
|
//// )
|
||||||
|
//// model.liveCountDayCurrent.value = item
|
||||||
|
////
|
||||||
|
//// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// //Вывод прогресса на один день
|
||||||
|
// private fun liveCountDayCurrent() = with(binding) {
|
||||||
|
// model.liveCountDayCurrent.observe(viewLifecycleOwner) {//viewLifecycleOwner - следит за циклом жизни fragment
|
||||||
|
// binding.txtSportToday.setText(it.countDown.toString())
|
||||||
|
// binding.txtSportTodayAll.setText(it.countAll.toString())
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// //Инициализация списка
|
||||||
|
// private fun initRcViewDay() = with(binding) {
|
||||||
|
// rcVIewDayList.layoutManager = GridLayoutManager(requireContext(),1)//По вертикали будет выводить по умолчанию
|
||||||
|
// adapterDay = DayAdapter(this@HomeFragment)
|
||||||
|
// rcVIewDayList.adapter = adapterDay
|
||||||
|
// }
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
fun newInstance() = HomeFragment()
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// override fun onClickDay(item: SportForDayModel) {
|
||||||
|
// //Передаем фрагмент на вывод(это фрагмент страницы с продукцией)
|
||||||
|
// //parentFragmentManager.beginTransaction() .replace(R.id.placeHolderFragment, SceduleFragment()).commit()
|
||||||
|
// dataModel.fragmentMenu.value = R.id.schedule
|
||||||
|
// // dateHomeCalendare = item.day
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.example.rehabilitation
|
||||||
|
|
||||||
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import androidx.lifecycle.ViewModel
|
||||||
|
import com.example.rehabilitation.Sport.SportDayOneModel
|
||||||
|
|
||||||
|
class PatientViewModel: ViewModel() {
|
||||||
|
val token = MutableLiveData<String>()
|
||||||
|
|
||||||
|
|
||||||
|
val liveDaySportOne = MutableLiveData<SportDayOneModel>()
|
||||||
|
// val productList = MutableLiveData<List<Product>>()
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.example.rehabilitation.Pref
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.SharedPreferences
|
||||||
|
|
||||||
|
class ClearPref() {
|
||||||
|
|
||||||
|
fun clearToken(context: Context) {
|
||||||
|
val prefDoctor: SharedPreferences = context.getSharedPreferences("PATIENT", Context.MODE_PRIVATE)
|
||||||
|
val edit = prefDoctor.edit()
|
||||||
|
edit?.clear()
|
||||||
|
edit?.apply()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
package com.example.rehabilitation.Pref
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.SharedPreferences
|
||||||
|
|
||||||
|
class ConclusionPref() {
|
||||||
|
|
||||||
|
fun conclusionToken(context: Context):String {
|
||||||
|
val prefDoctor: SharedPreferences = context.getSharedPreferences("PATIENT", Context.MODE_PRIVATE)
|
||||||
|
val token = prefDoctor.getString("token", "")
|
||||||
|
return token.toString()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.example.rehabilitation.Pref
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.SharedPreferences
|
||||||
|
|
||||||
|
class SavePref (){
|
||||||
|
|
||||||
|
fun saveToken(context: Context,token: String) {
|
||||||
|
val prefPatient: SharedPreferences = context.getSharedPreferences("PATIENT", Context.MODE_PRIVATE)
|
||||||
|
val edit = prefPatient.edit()
|
||||||
|
prefPatient.edit().putString("token", token).apply()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package com.example.rehabilitation.model_adapter.Progress
|
package com.example.rehabilitation.Progress
|
||||||
|
|
||||||
data class AfterListModel(
|
data class AfterListModel(
|
||||||
val id: Int,
|
val id: Int,
|
|
@ -1,4 +1,4 @@
|
||||||
package com.example.rehabilitation.model_adapter.Progress
|
package com.example.rehabilitation.Progress
|
||||||
|
|
||||||
data class BeforeListModel(
|
data class BeforeListModel(
|
||||||
val id: Int,
|
val id: Int,
|
|
@ -0,0 +1,142 @@
|
||||||
|
package com.example.rehabilitation.Progress
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.SharedPreferences
|
||||||
|
import android.os.Bundle
|
||||||
|
import android.util.Log
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.fragment.app.activityViewModels
|
||||||
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
|
import com.example.rehabilitation.Pref.ConclusionPref
|
||||||
|
import com.example.rehabilitation.Retrofit.PatientApi
|
||||||
|
import com.example.rehabilitation.databinding.FragmentProgresBinding
|
||||||
|
import com.example.rehabilitation.listCalendare
|
||||||
|
import com.example.rehabilitation.listProgressCheck
|
||||||
|
import com.example.sqlitework.dip.MainViewModel
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import okhttp3.logging.HttpLoggingInterceptor
|
||||||
|
import org.json.JSONObject
|
||||||
|
import retrofit2.Retrofit
|
||||||
|
import retrofit2.converter.gson.GsonConverterFactory
|
||||||
|
|
||||||
|
class ProgresFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentProgresBinding
|
||||||
|
private val model: MainViewModel by activityViewModels()//Инициализировали класс
|
||||||
|
|
||||||
|
//Хранинение токена
|
||||||
|
private var prefToken: SharedPreferences? = null
|
||||||
|
private var Token = ""
|
||||||
|
private lateinit var patientApi: PatientApi
|
||||||
|
lateinit var adapterProgress: ProgressAdapter
|
||||||
|
var view_progress = false
|
||||||
|
|
||||||
|
val prefPatientConclusion = ConclusionPref()
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View? {
|
||||||
|
binding = FragmentProgresBinding.inflate(layoutInflater, container, false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
prefToken = activity?.getSharedPreferences("token", Context.MODE_PRIVATE)
|
||||||
|
Token = prefToken?.getString("token", "")!!
|
||||||
|
|
||||||
|
model.liveProgressCheckList.observe(viewLifecycleOwner) {//viewLifecycleOwner - следит за циклом жизни fragment
|
||||||
|
adapterProgress.submitList(it)//Напрямую переадем созданный список в adapter(ProductAdapter)
|
||||||
|
visible1()
|
||||||
|
}
|
||||||
|
|
||||||
|
initRetrofit()
|
||||||
|
initRCView()
|
||||||
|
visibleLoad()
|
||||||
|
AddProgresSportDayList()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Функция получения данных для заполнения списка прогресса
|
||||||
|
|
||||||
|
private fun initRetrofit() {
|
||||||
|
val interceptor = HttpLoggingInterceptor()
|
||||||
|
interceptor.level = HttpLoggingInterceptor.Level.BODY
|
||||||
|
|
||||||
|
val client = OkHttpClient
|
||||||
|
.Builder()
|
||||||
|
.addInterceptor(interceptor)
|
||||||
|
.build()
|
||||||
|
|
||||||
|
val retrofit = Retrofit.Builder()
|
||||||
|
.baseUrl("http://mobileapp.vmeda.org/api/")
|
||||||
|
.client(client)
|
||||||
|
.addConverterFactory(GsonConverterFactory.create())
|
||||||
|
.build()
|
||||||
|
|
||||||
|
patientApi = retrofit.create(PatientApi::class.java)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Инициализация подлючения к серверу
|
||||||
|
fun AddProgresSportDayList() {
|
||||||
|
if (view_progress == false) {
|
||||||
|
view_progress = true
|
||||||
|
visibleLoad()
|
||||||
|
initRetrofit()
|
||||||
|
val Tokens = prefPatientConclusion.conclusionToken(requireContext())
|
||||||
|
CoroutineScope(Dispatchers.IO).launch {
|
||||||
|
val progress = patientApi.ProgressPatientCourses("Bearer $Tokens")
|
||||||
|
|
||||||
|
activity?.runOnUiThread {
|
||||||
|
|
||||||
|
//Фиксируем полученные данные
|
||||||
|
val progressMes = progress.body()
|
||||||
|
val progressMesCode = progress.isSuccessful()
|
||||||
|
//Если нету ошибок
|
||||||
|
if (progressMesCode) {
|
||||||
|
model.liveProgressCheckList.value = progressMes?.search_check_sport
|
||||||
|
binding.txtLoadProgres.visibility = View.GONE
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
binding.txtLoadProgres.visibility = View.VISIBLE
|
||||||
|
visible1()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private fun initRCView() = with(binding) {
|
||||||
|
rcViewProgress.layoutManager = LinearLayoutManager(
|
||||||
|
requireContext(),
|
||||||
|
LinearLayoutManager.VERTICAL,
|
||||||
|
false
|
||||||
|
)//По вертикали будет выводить по умолчанию
|
||||||
|
adapterProgress = ProgressAdapter()
|
||||||
|
rcViewProgress.adapter = adapterProgress
|
||||||
|
}
|
||||||
|
|
||||||
|
fun visible1() {
|
||||||
|
binding.CLMainProgres.visibility = View.VISIBLE
|
||||||
|
binding.CLLoad.visibility = View.GONE
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fun visibleLoad() {
|
||||||
|
binding.CLMainProgres.visibility = View.GONE
|
||||||
|
binding.CLLoad.visibility = View.VISIBLE
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun newInstance() = ProgresFragment()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,75 @@
|
||||||
|
package com.example.rehabilitation.Progress
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
|
import android.graphics.Color
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.databinding.RcItemProgressBinding
|
||||||
|
|
||||||
|
|
||||||
|
class ProgressAdapter() : ListAdapter<ProgressModel, ProgressAdapter.Holder>(Comparator()) {//Productitem - по этой форме будем заполнять.//ProductAdapter.holder - это создаваемый holder который хранит логику как нужно заполнять карточку
|
||||||
|
|
||||||
|
|
||||||
|
//В holder создаетс код с помошью которого мы будем заполнять и сохронять разметку
|
||||||
|
class Holder(view: View) :
|
||||||
|
RecyclerView.ViewHolder(view) {//Класс который будет хранить сссылки на элементы, и отвечает за один элемент за 1 раз, то есть сначсало нулевой элемент заполнит, потом первый, потом второй и т.д.
|
||||||
|
//Для передачи данных
|
||||||
|
|
||||||
|
val binding =
|
||||||
|
RcItemProgressBinding.bind(view)//view - здесь храянтся элементы и мы их bind заполним в ListItemBinding//ListItemBinding - это клласс даннйо разметки(карточки) которую мы будем заполнять, а нужна дання переменная(binding), чтобы мжно было при заполнение обращатся к элементам карточки
|
||||||
|
|
||||||
|
var itemTemp: ProgressModel? =
|
||||||
|
null//Глобальная переменная для нашего item, чтобы можно было передать данные для нажатия
|
||||||
|
|
||||||
|
@SuppressLint("SuspiciousIndentation", "SetTextI18n")
|
||||||
|
fun bind(item: ProgressModel) = with(binding) {//Productitem - перпедаем данные
|
||||||
|
itemTemp = item
|
||||||
|
txtDate.text = item.id.toString() + ". " + item.day + ": "
|
||||||
|
txtProgress.text = item.count.toString() + "/" + item.count_workout_max.toString()
|
||||||
|
if (item.count_workout_max != item.count) {
|
||||||
|
CardViewDay.setCardBackgroundColor(Color.parseColor("#1993FF"))
|
||||||
|
} else {
|
||||||
|
CardViewDay.setCardBackgroundColor(Color.parseColor("#98EA88"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Holder {
|
||||||
|
val view = LayoutInflater.from(parent.context)
|
||||||
|
.inflate(R.layout.rc_item_progress, parent, false)//Создаем(надуваем) list_item
|
||||||
|
return Holder(view)//Через Holder возврощаем view
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onBindViewHolder(holder: Holder, position: Int) {
|
||||||
|
val view = holder.bind(getItem(position))//Заполняем по позиции карточку
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Comparator - сравнивает старый список и новый и если что-то изменилось, то работает с конкретным изменением списке, а не весь список переписывает
|
||||||
|
class Comparator : DiffUtil.ItemCallback<ProgressModel>() {
|
||||||
|
override fun areItemsTheSame(
|
||||||
|
oldItem: ProgressModel,
|
||||||
|
newItem: ProgressModel
|
||||||
|
): Boolean {//Тут лучше всего сравнивать по id//oldItem - элементы старого списка, newItem - элементы нового списка//Возврощает Boolean, тоесть есть изменения или нет
|
||||||
|
return oldItem.id == newItem.id//Сравниваем полностью весь список новы и старый, по очередно по одной карточке и по элементно, то есть нулевой элемент, первый, второй и т.д.. Но лучше сравнивать по id списки, а не просто весь список, так как это эфективнее, так как id уникальный(oldItem.id == newItem.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun areContentsTheSame(
|
||||||
|
oldItem: ProgressModel,
|
||||||
|
newItem: ProgressModel
|
||||||
|
): Boolean {//Утут нужно сравнивать весь спсок старых элементов и новых
|
||||||
|
return oldItem == newItem//Сравниваем полностью весь список новы и старый
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
package com.example.rehabilitation.Progress
|
||||||
|
|
||||||
|
data class ProgressListModel(
|
||||||
|
val search_check_sport: List<ProgressModel>,
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.example.rehabilitation.Progress
|
||||||
|
|
||||||
|
data class ProgressModel(
|
||||||
|
val number: Int,
|
||||||
|
val id: Int,
|
||||||
|
val day: String,
|
||||||
|
var count_workout_max: Int,
|
||||||
|
var count: Int,
|
||||||
|
val finish: Int,
|
||||||
|
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
package com.example.rehabilitation.Questionnaire.Model
|
||||||
|
|
||||||
|
data class AfterQuestionnaireMessage(
|
||||||
|
val message: Int,
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.example.rehabilitation.Questionnaire.Model
|
||||||
|
|
||||||
|
data class AfterQuestionnaireModel(
|
||||||
|
val one: Int,
|
||||||
|
val two: Int,
|
||||||
|
val thee: Int,
|
||||||
|
val four: Int,
|
||||||
|
val five: Int,
|
||||||
|
val six: Int,
|
||||||
|
val seven: Int,
|
||||||
|
val eight: Int,
|
||||||
|
val nine: Int,
|
||||||
|
val ten: Int,
|
||||||
|
val eleven: Int,
|
||||||
|
val twelve: Int,
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
package com.example.rehabilitation.Questionnaire.Model
|
||||||
|
|
||||||
|
data class BeforeQuestionnaireMessage(
|
||||||
|
val message: Int,
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.example.rehabilitation.Questionnaire.Model
|
||||||
|
|
||||||
|
data class BeforeQuestionnaireModel(
|
||||||
|
val one: Int,
|
||||||
|
val two: Int,
|
||||||
|
val thee: Int,
|
||||||
|
val four: Int,
|
||||||
|
val five: Int,
|
||||||
|
val six: Int,
|
||||||
|
val seven: Int,
|
||||||
|
val eight: Int,
|
||||||
|
val nine: Int,
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
package com.example.rehabilitation.Questionnaire.Model
|
||||||
|
|
||||||
|
data class QuestionnaireModel(
|
||||||
|
val massage: String,
|
||||||
|
)
|
||||||
|
|
|
@ -1,71 +1,51 @@
|
||||||
package com.example.rehabilitation.User.fragmentUser.QuestionnaireFragment
|
package com.example.rehabilitation.Questionnaire.QuestionnaireFragment
|
||||||
|
|
||||||
import android.app.AlertDialog
|
import android.app.AlertDialog
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.provider.Settings
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
|
import com.example.admin.Toast.showCustomDangerToast
|
||||||
import com.example.admin.Toast.showCustomInfoToast
|
import com.example.admin.Toast.showCustomInfoToast
|
||||||
import com.example.admin.Toast.showCustomNiceToast
|
import com.example.rehabilitation.Pref.ConclusionPref
|
||||||
import com.example.rehabilitation.Block
|
import com.example.rehabilitation.Questionnaire.Model.AfterQuestionnaireModel
|
||||||
import com.example.rehabilitation.DayAfter
|
|
||||||
import com.example.rehabilitation.DayBefore
|
|
||||||
import com.example.rehabilitation.PauseDay
|
|
||||||
import com.example.rehabilitation.R
|
import com.example.rehabilitation.R
|
||||||
import com.example.rehabilitation.Room.MainDB
|
import com.example.rehabilitation.Retrofit.PatientApi
|
||||||
import com.example.rehabilitation.Room.Questionnaire.After.ItemAfterQuestionnaire
|
import com.example.rehabilitation.Sport.SceduleFragment
|
||||||
import com.example.rehabilitation.Room.Questionnaire.Before.ItemBeforeQuestionnaire
|
|
||||||
import com.example.rehabilitation.Sport15Day
|
|
||||||
import com.example.rehabilitation.Sport15DayAll
|
|
||||||
import com.example.rehabilitation.Sport7Day
|
|
||||||
import com.example.rehabilitation.SportCursDay
|
|
||||||
import com.example.rehabilitation.SportCursDayDangerAfter
|
|
||||||
import com.example.rehabilitation.SportCursDayDangerBefore
|
|
||||||
import com.example.rehabilitation.SportCursDayNumber
|
|
||||||
import com.example.rehabilitation.SportPlusCount
|
|
||||||
import com.example.rehabilitation.User.fragmentUser.SceduleFragment
|
|
||||||
import com.example.rehabilitation.countSport
|
|
||||||
import com.example.rehabilitation.databinding.FragmentQAfterBinding
|
import com.example.rehabilitation.databinding.FragmentQAfterBinding
|
||||||
import com.example.rehabilitation.prefBlock
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import com.example.rehabilitation.prefCursDangerDayAfter
|
import kotlinx.coroutines.Dispatchers
|
||||||
import com.example.rehabilitation.prefCursDangerDayBefore
|
import kotlinx.coroutines.launch
|
||||||
import com.example.rehabilitation.prefCursDay
|
import okhttp3.OkHttpClient
|
||||||
import com.example.rehabilitation.prefDayAfter
|
import okhttp3.logging.HttpLoggingInterceptor
|
||||||
import com.example.rehabilitation.prefDayBefore
|
import org.json.JSONObject
|
||||||
import com.example.rehabilitation.prefPauseDay
|
import retrofit2.Retrofit
|
||||||
import com.example.rehabilitation.prefSport15Day
|
import retrofit2.converter.gson.GsonConverterFactory
|
||||||
import com.example.rehabilitation.prefSport15DayAll
|
|
||||||
import com.example.rehabilitation.prefSport7Day
|
|
||||||
import com.example.rehabilitation.prefSportCursDayNumber
|
|
||||||
import com.example.rehabilitation.questionnaire_after
|
|
||||||
import com.example.rehabilitation.questionnaire_before
|
|
||||||
|
|
||||||
import java.time.LocalDate
|
import java.time.LocalDate
|
||||||
|
|
||||||
|
|
||||||
class QAfterFragment : Fragment() {
|
class QAfterFragment : Fragment() {
|
||||||
private lateinit var binding: FragmentQAfterBinding
|
private lateinit var binding: FragmentQAfterBinding
|
||||||
|
private lateinit var patientApi: PatientApi
|
||||||
|
val prefPatientConclusion = ConclusionPref()
|
||||||
|
|
||||||
var one = ""
|
var one = 100
|
||||||
var two = ""
|
var two = 100
|
||||||
var thee = ""
|
var thee = 100
|
||||||
var four = ""
|
var four =100
|
||||||
var five = ""
|
var five =100
|
||||||
var six = ""
|
var six =100
|
||||||
var seven = ""
|
var seven = 100
|
||||||
var eight = ""
|
var eight = 100
|
||||||
var nine = ""
|
var nine = 100
|
||||||
var ten = ""
|
var ten =100
|
||||||
var eleven = ""
|
var eleven = 100
|
||||||
var twelve = ""
|
var twelve = 100
|
||||||
|
|
||||||
|
|
||||||
override fun onCreateView(
|
override fun onCreateView(
|
||||||
|
@ -82,51 +62,8 @@ class QAfterFragment : Fragment() {
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
Log.d("lookDanger", "lookDanger")
|
|
||||||
Log.d("SportCursDayDangerAfter", "${SportCursDayDangerAfter}")
|
|
||||||
Log.d("SportCursDay", "${SportCursDay}")
|
|
||||||
Log.d("SportCursDayDangerBefore", "${SportCursDayDangerBefore}")
|
|
||||||
|
|
||||||
|
|
||||||
prefCursDay = activity?.getSharedPreferences("SportCursDay", Context.MODE_PRIVATE)
|
|
||||||
SportCursDay = prefCursDay?.getInt("scd", 0)!!
|
|
||||||
prefCursDangerDayAfter =
|
|
||||||
activity?.getSharedPreferences("CursDangerDayAfter", Context.MODE_PRIVATE)
|
|
||||||
SportCursDayDangerAfter = prefCursDangerDayAfter?.getInt("cdda", 0)!!
|
|
||||||
|
|
||||||
prefCursDangerDayBefore =
|
|
||||||
activity?.getSharedPreferences("CursDangerDayBefore", Context.MODE_PRIVATE)
|
|
||||||
SportCursDayDangerBefore = prefCursDangerDayBefore?.getInt("cddb", 0)!!
|
|
||||||
|
|
||||||
//Какой сегодня курс
|
|
||||||
prefSportCursDayNumber =
|
|
||||||
activity?.getSharedPreferences("SportCursDayNumber", Context.MODE_PRIVATE)
|
|
||||||
SportCursDayNumber = prefSportCursDayNumber?.getInt("scdn", 0)!!
|
|
||||||
|
|
||||||
|
|
||||||
//Для анкет, какие выполнены
|
|
||||||
prefPauseDay = activity?.getSharedPreferences("PauseDay", Context.MODE_PRIVATE)
|
|
||||||
PauseDay = prefPauseDay?.getString("pd", "")!!
|
|
||||||
prefBlock = activity?.getSharedPreferences("Block", Context.MODE_PRIVATE)
|
|
||||||
Block = prefBlock?.getString("b", "")!!
|
|
||||||
|
|
||||||
//Для анкет, какие выполнены
|
|
||||||
prefDayBefore = activity?.getSharedPreferences("DayBefore", Context.MODE_PRIVATE)
|
|
||||||
DayBefore = prefDayBefore?.getString("db", "")!!
|
|
||||||
prefDayAfter = activity?.getSharedPreferences("DayAfter", Context.MODE_PRIVATE)
|
|
||||||
DayAfter = prefDayAfter?.getString("da", "")!!
|
|
||||||
|
|
||||||
//Пройдено ли 15 дне и отправен отчет
|
|
||||||
prefSport15DayAll = activity?.getSharedPreferences("Sport15DayAll", Context.MODE_PRIVATE)
|
|
||||||
Sport15DayAll = prefSport15DayAll?.getInt("s15da", 0)!!
|
|
||||||
|
|
||||||
//Отчет на 15 день
|
|
||||||
prefSport15Day = activity?.getSharedPreferences("Sport15Day", Context.MODE_PRIVATE)
|
|
||||||
Sport15Day = prefSport15Day?.getInt("s15d", 0)!!
|
|
||||||
|
|
||||||
//Отчет на 7 день
|
|
||||||
prefSport7Day = activity?.getSharedPreferences("Sport7Day", Context.MODE_PRIVATE)
|
|
||||||
Sport7Day = prefSport7Day?.getInt("s7d", 0)!!
|
|
||||||
|
|
||||||
buttenAdd()
|
buttenAdd()
|
||||||
|
|
||||||
|
@ -138,14 +75,26 @@ class QAfterFragment : Fragment() {
|
||||||
|
|
||||||
//Сохраняем результат
|
//Сохраняем результат
|
||||||
binding.btnSaveQuestionnaire.setOnClickListener {
|
binding.btnSaveQuestionnaire.setOnClickListener {
|
||||||
if (one != "" && two != "" && thee != "" && four != "" && five != "" && six != "" && seven != "" && eight != "" && nine != "" && ten != "" && eleven != "" && twelve != "") {
|
if (one != 100 && two != 100 && thee != 100 && four != 100 && five != 100 && six != 100 && seven != 100 && eight != 100 && nine != 100 && ten != 100 && eleven != 100 && twelve != 100) {
|
||||||
|
|
||||||
if(ten == "1"){
|
if(nine == 1){
|
||||||
AlertDialog.Builder(requireContext())
|
AlertDialog.Builder(requireContext())
|
||||||
.setTitle("Анкета")
|
.setTitle("Анкета")
|
||||||
.setMessage("Уверены ли Вы в выбранных ответах на вопросы анкеты? Халатное отношение к вопросам анкеты приведет к блокировке комплекса")
|
.setMessage("Уверены ли Вы в выбранных ответах на вопросы анкеты? Халатное отношение к вопросам анкеты приведет к блокировке комплекса")
|
||||||
.setNeutralButton("Подтвердить") { dialog, whichButton ->
|
.setNeutralButton("Подтвердить") { dialog, whichButton ->
|
||||||
addQuestionnaire()
|
addQuestionAfter()
|
||||||
|
}
|
||||||
|
.setNegativeButton("Отмена") { dialog, whichButton ->
|
||||||
|
|
||||||
|
}
|
||||||
|
.show()
|
||||||
|
}
|
||||||
|
else if(one >=6 && thee == 0 && six == 1 && eight == 1 && eleven == 1){
|
||||||
|
AlertDialog.Builder(requireContext())
|
||||||
|
.setTitle("Анкета")
|
||||||
|
.setMessage("Уверены ли Вы в выбранных ответах на вопросы анкеты? Халатное отношение к вопросам анкеты приведет к паузе комплекса")
|
||||||
|
.setNeutralButton("Подтвердить") { dialog, whichButton ->
|
||||||
|
addQuestionAfter()
|
||||||
}
|
}
|
||||||
.setNegativeButton("Отмена") { dialog, whichButton ->
|
.setNegativeButton("Отмена") { dialog, whichButton ->
|
||||||
|
|
||||||
|
@ -153,10 +102,8 @@ class QAfterFragment : Fragment() {
|
||||||
.show()
|
.show()
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
addQuestionnaire()
|
addQuestionAfter()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Toast(requireContext()).showCustomInfoToast(
|
Toast(requireContext()).showCustomInfoToast(
|
||||||
"Не все пункты выбраны",
|
"Не все пункты выбраны",
|
||||||
|
@ -164,37 +111,11 @@ class QAfterFragment : Fragment() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Функция
|
|
||||||
fun addQuestionnaire(){
|
|
||||||
clearSportCursDayDangerBefore()
|
|
||||||
if(ten == "1"){
|
|
||||||
saveBlock(LocalDate.now().plusDays(3).toString())
|
|
||||||
saveSportCursDayDangerAfter(2)
|
|
||||||
Log.d("saveSportCursDayDangerAfter","${2}")
|
|
||||||
addQuestionAfter()
|
|
||||||
}
|
|
||||||
else if (one >= "6" || thee == "0"||six == "1"||eight == "1"||eleven == "1") {
|
|
||||||
savePauseDay(LocalDate.now().plusDays(1).toString())
|
|
||||||
saveSportCursDayDangerAfter(1)
|
|
||||||
addQuestionAfter()
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
clearSportCursDayDangerBefore()
|
|
||||||
clearSportCursDayDangerAfter()
|
|
||||||
addQuestionAfter()
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun addQuestionAfter() {
|
fun addQuestionAfter() {
|
||||||
val db = MainDB.getDB(requireContext())
|
|
||||||
|
|
||||||
val item = ItemAfterQuestionnaire(
|
val item = AfterQuestionnaireModel(
|
||||||
null,
|
|
||||||
one,
|
one,
|
||||||
two,
|
two,
|
||||||
thee,
|
thee,
|
||||||
|
@ -207,157 +128,60 @@ class QAfterFragment : Fragment() {
|
||||||
ten,
|
ten,
|
||||||
eleven,
|
eleven,
|
||||||
twelve,
|
twelve,
|
||||||
LocalDate.now().toString()
|
|
||||||
)
|
)
|
||||||
Thread {
|
|
||||||
db.getDaoQA().insertAQ(item)
|
|
||||||
db.getDao().updateDay(LocalDate.now().toString(), (SportCursDay - 1).toString())
|
|
||||||
}.start()
|
|
||||||
|
|
||||||
saveDayAfter(LocalDate.now().toString())
|
AfterQuestionnaire(item)
|
||||||
|
}
|
||||||
|
|
||||||
|
//Инициализация подлючения к серверу
|
||||||
|
private fun initRetrofit() {
|
||||||
|
val interceptor = HttpLoggingInterceptor()
|
||||||
|
interceptor.level = HttpLoggingInterceptor.Level.BODY
|
||||||
|
|
||||||
|
val client = OkHttpClient
|
||||||
|
.Builder()
|
||||||
|
.addInterceptor(interceptor)
|
||||||
|
.build()
|
||||||
|
|
||||||
|
val retrofit = Retrofit.Builder()
|
||||||
|
.baseUrl("http://mobileapp.vmeda.org/api/")
|
||||||
|
.client(client)
|
||||||
|
.addConverterFactory(GsonConverterFactory.create())
|
||||||
|
.build()
|
||||||
|
|
||||||
|
patientApi = retrofit.create(PatientApi::class.java)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Получения списка пациентов
|
||||||
|
fun AfterQuestionnaire(item:AfterQuestionnaireModel) {
|
||||||
|
initRetrofit()
|
||||||
|
val Tokens = prefPatientConclusion.conclusionToken(requireContext())
|
||||||
|
CoroutineScope(Dispatchers.IO).launch {
|
||||||
|
val QA = patientApi.AddAfterQuestionnaire2("Bearer $Tokens",item)
|
||||||
|
requireActivity().runOnUiThread {
|
||||||
|
|
||||||
|
//Фиксируем полученные данные
|
||||||
|
val AQList = QA.body()
|
||||||
|
|
||||||
|
//Если нету ошибок
|
||||||
|
if (AQList != null) {
|
||||||
|
Toast(requireContext()).showCustomInfoToast(AQList.message, requireActivity())
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if (AQList != null) {
|
||||||
|
Toast(requireContext()).showCustomInfoToast(AQList.message, requireActivity())
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
?.replace(R.id.placeHolderFragment, SceduleFragment.newInstance())?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
if (SportCursDay == 7 && Sport7Day == 0) {
|
|
||||||
saveSport7Day(1)
|
|
||||||
} else if (SportCursDay == 15 && Sport15Day == 0) {
|
|
||||||
saveSport15Day(1)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// questionnaire_after = LocalDate.now().toString()
|
|
||||||
// questionnaire_before = LocalDate.now().toString()
|
|
||||||
// //QBSaveDataB(LocalDate.now().toString())
|
|
||||||
// //Log.d("aaaaaa",questionnaire?.getString("QB", "")!!.toString())
|
|
||||||
activity?.supportFragmentManager?.beginTransaction()
|
|
||||||
?.replace(R.id.placeHolderFragment, SceduleFragment.newInstance())?.commit()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun saveSport15Day(s15d: Int) {
|
|
||||||
val edit = prefSport15Day?.edit()
|
|
||||||
edit?.putInt("s15d", s15d)
|
|
||||||
edit?.apply()
|
|
||||||
Sport15Day = s15d
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearSport15Day() {
|
|
||||||
val edit = prefSport15Day?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
Sport15Day = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
fun saveSport7Day(s7d: Int) {
|
|
||||||
val edit = prefSport7Day?.edit()
|
|
||||||
edit?.putInt("s7d", s7d)
|
|
||||||
edit?.apply()
|
|
||||||
Sport7Day = s7d
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearSport7Day() {
|
|
||||||
val edit = prefSport7Day?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
Sport7Day = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
fun savePauseDay(pd: String) {
|
|
||||||
val edit = prefPauseDay?.edit()
|
|
||||||
edit?.putString("pd", pd)
|
|
||||||
edit?.apply()
|
|
||||||
PauseDay = pd
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearPauseDay() {
|
|
||||||
val edit = prefPauseDay?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
PauseDay = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
fun saveBlock(b: String) {
|
|
||||||
val edit = prefBlock?.edit()
|
|
||||||
edit?.putString("b", b)
|
|
||||||
edit?.apply()
|
|
||||||
Block = b
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearBlock() {
|
|
||||||
val edit = prefBlock?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
Block = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
fun saveDayBefore(db: String) {
|
|
||||||
val edit = prefDayBefore?.edit()
|
|
||||||
edit?.putString("db", db)
|
|
||||||
edit?.apply()
|
|
||||||
DayBefore = db
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearDayBefore() {
|
|
||||||
val edit = prefDayBefore?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
DayBefore = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
fun saveDayAfter(da: String) {
|
|
||||||
val edit = prefDayAfter?.edit()
|
|
||||||
edit?.putString("da", da)
|
|
||||||
edit?.apply()
|
|
||||||
DayAfter = da
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearDayAfter() {
|
|
||||||
val edit = prefDayAfter?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
DayAfter = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
fun saveSportCursDay(scd: Int) {
|
|
||||||
val edit = prefCursDay?.edit()
|
|
||||||
edit?.putInt("scd", scd)
|
|
||||||
edit?.apply()
|
|
||||||
SportCursDay = scd
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearSportCursDay() {
|
|
||||||
val edit = prefCursDay?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
SportCursDay = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
fun saveSportCursDayDangerBefore(cddb: Int) {
|
|
||||||
val edit = prefCursDangerDayBefore?.edit()
|
|
||||||
edit?.putInt("cddb", cddb)
|
|
||||||
edit?.apply()
|
|
||||||
SportCursDayDangerBefore = cddb
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearSportCursDayDangerBefore() {
|
|
||||||
val edit = prefCursDangerDayBefore?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
SportCursDayDangerBefore = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
fun saveSportCursDayDangerAfter(cdda: Int) {
|
|
||||||
val edit = prefCursDangerDayAfter?.edit()
|
|
||||||
edit?.putInt("cdda", cdda)
|
|
||||||
edit?.apply()
|
|
||||||
SportCursDayDangerAfter = cdda
|
|
||||||
}
|
|
||||||
|
|
||||||
fun clearSportCursDayDangerAfter() {
|
|
||||||
val edit = prefCursDangerDayAfter?.edit()
|
|
||||||
edit?.clear()
|
|
||||||
edit?.apply()
|
|
||||||
SportCursDayDangerAfter = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun buttenAdd() {
|
private fun buttenAdd() {
|
||||||
buttenAdd1()
|
buttenAdd1()
|
||||||
|
@ -386,7 +210,7 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
one = "0"
|
one = 0
|
||||||
}
|
}
|
||||||
binding.CVQ11.setOnClickListener {
|
binding.CVQ11.setOnClickListener {
|
||||||
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
@ -399,7 +223,7 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
one = "1"
|
one = 1
|
||||||
}
|
}
|
||||||
binding.CVQ12.setOnClickListener {
|
binding.CVQ12.setOnClickListener {
|
||||||
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
@ -412,7 +236,7 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
one = "2"
|
one = 2
|
||||||
}
|
}
|
||||||
binding.CVQ13.setOnClickListener {
|
binding.CVQ13.setOnClickListener {
|
||||||
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
@ -425,7 +249,7 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
one = "3"
|
one = 3
|
||||||
}
|
}
|
||||||
binding.CVQ14.setOnClickListener {
|
binding.CVQ14.setOnClickListener {
|
||||||
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
@ -439,7 +263,7 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
one = "4"
|
one = 4
|
||||||
|
|
||||||
}
|
}
|
||||||
binding.CVQ15.setOnClickListener {
|
binding.CVQ15.setOnClickListener {
|
||||||
|
@ -454,7 +278,7 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
one = "5"
|
one = 5
|
||||||
}
|
}
|
||||||
binding.CVQ16.setOnClickListener {
|
binding.CVQ16.setOnClickListener {
|
||||||
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
@ -468,7 +292,7 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
one = "6"
|
one = 6
|
||||||
}
|
}
|
||||||
binding.CVQ17.setOnClickListener {
|
binding.CVQ17.setOnClickListener {
|
||||||
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
@ -482,7 +306,7 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
one = "7"
|
one = 7
|
||||||
}
|
}
|
||||||
binding.CVQ18.setOnClickListener {
|
binding.CVQ18.setOnClickListener {
|
||||||
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
@ -496,7 +320,7 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
one = "8"
|
one = 8
|
||||||
}
|
}
|
||||||
binding.CVQ19.setOnClickListener {
|
binding.CVQ19.setOnClickListener {
|
||||||
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
@ -510,7 +334,7 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
one = "9"
|
one = 9
|
||||||
}
|
}
|
||||||
binding.CVQ110.setOnClickListener {
|
binding.CVQ110.setOnClickListener {
|
||||||
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
@ -524,7 +348,7 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
one = "10"
|
one = 10
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -532,12 +356,12 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQyes2.setOnClickListener {
|
binding.CVQyes2.setOnClickListener {
|
||||||
binding.CVQyes2.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQyes2.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQno2.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQno2.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
two = "1"
|
two = 1
|
||||||
}
|
}
|
||||||
binding.CVQno2.setOnClickListener {
|
binding.CVQno2.setOnClickListener {
|
||||||
binding.CVQyes2.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQyes2.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQno2.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQno2.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
two = "0"
|
two = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -546,12 +370,12 @@ class QAfterFragment : Fragment() {
|
||||||
Log.d("CVQyes3", "CVQyes3")
|
Log.d("CVQyes3", "CVQyes3")
|
||||||
binding.CVQyes3.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQyes3.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQno3.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQno3.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
thee = "1"
|
thee = 1
|
||||||
}
|
}
|
||||||
binding.CVQno3.setOnClickListener {
|
binding.CVQno3.setOnClickListener {
|
||||||
binding.CVQyes3.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQyes3.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQno3.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQno3.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
thee = "0"
|
thee = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -559,12 +383,12 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQyes4.setOnClickListener {
|
binding.CVQyes4.setOnClickListener {
|
||||||
binding.CVQyes4.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQyes4.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQno4.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQno4.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
four = "1"
|
four = 1
|
||||||
}
|
}
|
||||||
binding.CVQno4.setOnClickListener {
|
binding.CVQno4.setOnClickListener {
|
||||||
binding.CVQyes4.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQyes4.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQno4.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQno4.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
four = "0"
|
four = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -572,12 +396,12 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQyes5.setOnClickListener {
|
binding.CVQyes5.setOnClickListener {
|
||||||
binding.CVQyes5.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQyes5.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQno5.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQno5.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
five = "1"
|
five = 1
|
||||||
}
|
}
|
||||||
binding.CVQno5.setOnClickListener {
|
binding.CVQno5.setOnClickListener {
|
||||||
binding.CVQyes5.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQyes5.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQno5.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQno5.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
five = "0"
|
five = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -585,12 +409,12 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQyes6.setOnClickListener {
|
binding.CVQyes6.setOnClickListener {
|
||||||
binding.CVQyes6.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQyes6.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQno6.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQno6.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
six = "1"
|
six = 1
|
||||||
}
|
}
|
||||||
binding.CVQno6.setOnClickListener {
|
binding.CVQno6.setOnClickListener {
|
||||||
binding.CVQyes6.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQyes6.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQno6.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQno6.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
six = "0"
|
six =0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -598,12 +422,12 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQyes7.setOnClickListener {
|
binding.CVQyes7.setOnClickListener {
|
||||||
binding.CVQyes7.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQyes7.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQno7.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQno7.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
seven = "1"
|
seven = 1
|
||||||
}
|
}
|
||||||
binding.CVQno7.setOnClickListener {
|
binding.CVQno7.setOnClickListener {
|
||||||
binding.CVQyes7.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQyes7.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQno7.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQno7.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
seven = "0"
|
seven =0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -611,12 +435,12 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQyes8.setOnClickListener {
|
binding.CVQyes8.setOnClickListener {
|
||||||
binding.CVQyes8.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQyes8.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQno8.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQno8.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
eight = "1"
|
eight = 1
|
||||||
}
|
}
|
||||||
binding.CVQno8.setOnClickListener {
|
binding.CVQno8.setOnClickListener {
|
||||||
binding.CVQyes8.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQyes8.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQno8.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQno8.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
eight = "0"
|
eight = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -624,12 +448,12 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQyes9.setOnClickListener {
|
binding.CVQyes9.setOnClickListener {
|
||||||
binding.CVQyes9.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQyes9.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQno9.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQno9.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
nine = "1"
|
nine = 1
|
||||||
}
|
}
|
||||||
binding.CVQno9.setOnClickListener {
|
binding.CVQno9.setOnClickListener {
|
||||||
binding.CVQyes9.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQyes9.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQno9.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQno9.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
nine = "0"
|
nine = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -637,12 +461,12 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQyes10.setOnClickListener {
|
binding.CVQyes10.setOnClickListener {
|
||||||
binding.CVQyes10.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQyes10.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQno10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQno10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
ten = "1"
|
ten = 1
|
||||||
}
|
}
|
||||||
binding.CVQno10.setOnClickListener {
|
binding.CVQno10.setOnClickListener {
|
||||||
binding.CVQyes10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQyes10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQno10.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQno10.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
ten = "0"
|
ten = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -650,12 +474,12 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQyes11.setOnClickListener {
|
binding.CVQyes11.setOnClickListener {
|
||||||
binding.CVQyes11.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQyes11.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQno11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQno11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
eleven = "1"
|
eleven = 1
|
||||||
}
|
}
|
||||||
binding.CVQno11.setOnClickListener {
|
binding.CVQno11.setOnClickListener {
|
||||||
binding.CVQyes11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQyes11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQno11.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQno11.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
eleven = "0"
|
eleven = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -663,12 +487,12 @@ class QAfterFragment : Fragment() {
|
||||||
binding.CVQyes12.setOnClickListener {
|
binding.CVQyes12.setOnClickListener {
|
||||||
binding.CVQyes12.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQyes12.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
binding.CVQno12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQno12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
twelve = "1"
|
twelve = 1
|
||||||
}
|
}
|
||||||
binding.CVQno12.setOnClickListener {
|
binding.CVQno12.setOnClickListener {
|
||||||
binding.CVQyes12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
binding.CVQyes12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
binding.CVQno12.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
binding.CVQno12.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
twelve = "0"
|
twelve = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,471 @@
|
||||||
|
package com.example.rehabilitation.Questionnaire.QuestionnaireFragment
|
||||||
|
|
||||||
|
import android.app.AlertDialog
|
||||||
|
import android.graphics.Color
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.fragment.app.Fragment
|
||||||
|
import android.view.LayoutInflater
|
||||||
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
|
import android.widget.Toast
|
||||||
|
import androidx.fragment.app.activityViewModels
|
||||||
|
import com.example.admin.Toast.showCustomDangerToast
|
||||||
|
import com.example.admin.Toast.showCustomInfoToast
|
||||||
|
import com.example.rehabilitation.Pref.ConclusionPref
|
||||||
|
import com.example.rehabilitation.Questionnaire.Model.AfterQuestionnaireModel
|
||||||
|
import com.example.rehabilitation.Questionnaire.Model.BeforeQuestionnaireModel
|
||||||
|
import com.example.rehabilitation.R
|
||||||
|
import com.example.rehabilitation.Retrofit.PatientApi
|
||||||
|
import com.example.rehabilitation.Sport.SceduleFragment
|
||||||
|
import com.example.rehabilitation.databinding.FragmentQBeforeBinding
|
||||||
|
import com.example.sqlitework.dip.MainViewModel
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import okhttp3.logging.HttpLoggingInterceptor
|
||||||
|
import org.json.JSONObject
|
||||||
|
import retrofit2.Retrofit
|
||||||
|
import retrofit2.converter.gson.GsonConverterFactory
|
||||||
|
|
||||||
|
|
||||||
|
class QBeforeFragment : Fragment() {
|
||||||
|
private lateinit var binding: FragmentQBeforeBinding
|
||||||
|
private val model: MainViewModel by activityViewModels()//Инициализировали класс
|
||||||
|
private lateinit var patientApi: PatientApi
|
||||||
|
val prefPatientConclusion = ConclusionPref()
|
||||||
|
|
||||||
|
var one = 100
|
||||||
|
var two = 100
|
||||||
|
var thee = 100
|
||||||
|
var four = 100
|
||||||
|
var five = 100
|
||||||
|
var six = 100
|
||||||
|
var seven = 100
|
||||||
|
var eight = 100
|
||||||
|
var nine = 100
|
||||||
|
|
||||||
|
|
||||||
|
var calendareDate = false
|
||||||
|
var countDay = 0
|
||||||
|
|
||||||
|
//Для разрешения проверки количества дней
|
||||||
|
var lookDateSportMax = false
|
||||||
|
|
||||||
|
override fun onCreateView(
|
||||||
|
inflater: LayoutInflater, container: ViewGroup?,
|
||||||
|
savedInstanceState: Bundle?
|
||||||
|
): View {
|
||||||
|
// Inflate the layout for this fragment
|
||||||
|
binding = FragmentQBeforeBinding.inflate(layoutInflater, container, false)
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun newInstance() = QBeforeFragment()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
|
||||||
|
buttenAdd()
|
||||||
|
|
||||||
|
//Выход
|
||||||
|
binding.btnExitQB.setOnClickListener {
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
?.replace(R.id.placeHolderFragment, SceduleFragment.newInstance())?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
//Сохраняем результат
|
||||||
|
binding.btnSaveQuestionnaire.setOnClickListener {
|
||||||
|
|
||||||
|
if (one != 100 && two != 100 && thee != 100 && four != 100 && five != 100 && six != 100 && seven != 100 && eight != 100 && nine != 100) {
|
||||||
|
if(one >= 6) {
|
||||||
|
AlertDialog.Builder(requireContext())
|
||||||
|
.setTitle("Анкета")
|
||||||
|
.setMessage("Уверены ли Вы в выбранных ответах на вопросы анкеты? Халатное отношение к вопросам анкеты приведет к блокировке комплекса")
|
||||||
|
.setNeutralButton("Подтвердить") { dialog, whichButton ->
|
||||||
|
addQuestionnaire()
|
||||||
|
}
|
||||||
|
.setNegativeButton("Отмена") { dialog, whichButton ->
|
||||||
|
}.show()
|
||||||
|
}
|
||||||
|
else if(four == 1 && five == 1 && six == 1 && seven == 1 && nine == 1){
|
||||||
|
AlertDialog.Builder(requireContext())
|
||||||
|
.setTitle("Анкета")
|
||||||
|
.setMessage("Уверены ли Вы в выбранных ответах на вопросы анкеты? Халатное отношение к вопросам анкеты приведет к паузе комплекса")
|
||||||
|
.setNeutralButton("Подтвердить") { dialog, whichButton ->
|
||||||
|
addQuestionnaire()
|
||||||
|
}
|
||||||
|
.setNegativeButton("Отмена") { dialog, whichButton ->
|
||||||
|
}.show()
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
addQuestionnaire()
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
Toast(requireContext()).showCustomInfoToast(
|
||||||
|
"Не все пункты выбраны",
|
||||||
|
requireActivity()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Функция
|
||||||
|
fun addQuestionnaire(){
|
||||||
|
val item = BeforeQuestionnaireModel(
|
||||||
|
one,
|
||||||
|
two,
|
||||||
|
thee,
|
||||||
|
four,
|
||||||
|
five,
|
||||||
|
six,
|
||||||
|
seven,
|
||||||
|
eight,
|
||||||
|
nine,
|
||||||
|
)
|
||||||
|
BeforeQuestionnaire(item)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Инициализация подлючения к серверу
|
||||||
|
private fun initRetrofit() {
|
||||||
|
val interceptor = HttpLoggingInterceptor()
|
||||||
|
interceptor.level = HttpLoggingInterceptor.Level.BODY
|
||||||
|
|
||||||
|
val client = OkHttpClient
|
||||||
|
.Builder()
|
||||||
|
.addInterceptor(interceptor)
|
||||||
|
.build()
|
||||||
|
|
||||||
|
val retrofit = Retrofit.Builder()
|
||||||
|
.baseUrl("http://mobileapp.vmeda.org/api/")
|
||||||
|
.client(client)
|
||||||
|
.addConverterFactory(GsonConverterFactory.create())
|
||||||
|
.build()
|
||||||
|
|
||||||
|
patientApi = retrofit.create(PatientApi::class.java)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Получения списка пациентов
|
||||||
|
fun BeforeQuestionnaire(item: BeforeQuestionnaireModel) {
|
||||||
|
initRetrofit()
|
||||||
|
val Tokens = prefPatientConclusion.conclusionToken(requireContext())
|
||||||
|
CoroutineScope(Dispatchers.IO).launch {
|
||||||
|
val QA = patientApi.AddBeforeQuestionnaire2("Bearer $Tokens",item)
|
||||||
|
requireActivity().runOnUiThread {
|
||||||
|
|
||||||
|
//Фиксируем полученные данные
|
||||||
|
val AQList = QA.body()
|
||||||
|
|
||||||
|
//Если нету ошибок
|
||||||
|
if (AQList != null) {
|
||||||
|
Toast(requireContext()).showCustomInfoToast(AQList.message, requireActivity())
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
Toast(requireContext()).showCustomInfoToast("Ошибка при отправке", requireActivity())
|
||||||
|
|
||||||
|
}
|
||||||
|
activity?.supportFragmentManager?.beginTransaction()
|
||||||
|
?.replace(R.id.placeHolderFragment, SceduleFragment.newInstance())?.commit()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private fun buttenAdd() {
|
||||||
|
buttenAdd1()
|
||||||
|
buttenAdd1_2()
|
||||||
|
buttenAdd2()
|
||||||
|
buttenAdd3()
|
||||||
|
buttenAdd4()
|
||||||
|
buttenAdd5()
|
||||||
|
buttenAdd6()
|
||||||
|
buttenAdd7()
|
||||||
|
buttenAdd8()
|
||||||
|
buttenAdd9()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private fun buttenAdd1() {
|
||||||
|
binding.CVQyes1.setOnClickListener {
|
||||||
|
binding.CLQ112.visibility = View.VISIBLE
|
||||||
|
binding.CVQyes1.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQno1.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
|
||||||
|
}
|
||||||
|
binding.CVQno1.setOnClickListener {
|
||||||
|
binding.CLQ112.visibility = View.GONE
|
||||||
|
binding.CVQyes1.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQno1.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
one = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private fun buttenAdd1_2() {
|
||||||
|
binding.CVQ10.setOnClickListener {
|
||||||
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQ11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ13.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ14.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ15.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ16.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
one = 0
|
||||||
|
}
|
||||||
|
binding.CVQ11.setOnClickListener {
|
||||||
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ11.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQ12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ13.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ14.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ15.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ16.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
one = 1
|
||||||
|
}
|
||||||
|
binding.CVQ12.setOnClickListener {
|
||||||
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ12.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQ13.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ14.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ15.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ16.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
one = 2
|
||||||
|
}
|
||||||
|
binding.CVQ13.setOnClickListener {
|
||||||
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ13.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQ14.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ15.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ16.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
one = 3
|
||||||
|
}
|
||||||
|
binding.CVQ14.setOnClickListener {
|
||||||
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ13.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ14.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQ15.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ16.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
one = 4
|
||||||
|
|
||||||
|
}
|
||||||
|
binding.CVQ15.setOnClickListener {
|
||||||
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ13.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ14.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ15.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQ16.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
one = 5
|
||||||
|
}
|
||||||
|
binding.CVQ16.setOnClickListener {
|
||||||
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ13.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ14.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ15.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ16.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
one = 6
|
||||||
|
}
|
||||||
|
binding.CVQ17.setOnClickListener {
|
||||||
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ13.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ14.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ15.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ16.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
one = 7
|
||||||
|
}
|
||||||
|
binding.CVQ18.setOnClickListener {
|
||||||
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ13.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ14.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ15.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ16.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
one = 8
|
||||||
|
}
|
||||||
|
binding.CVQ19.setOnClickListener {
|
||||||
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ13.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ14.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ15.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ16.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
one = 9
|
||||||
|
}
|
||||||
|
binding.CVQ110.setOnClickListener {
|
||||||
|
binding.CVQ10.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ11.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ12.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ13.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ14.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ15.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ16.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ17.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ18.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ19.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQ110.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
one = 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun buttenAdd2() {
|
||||||
|
binding.CVQyes2.setOnClickListener {
|
||||||
|
binding.CVQyes2.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQno2.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
two = 1
|
||||||
|
}
|
||||||
|
binding.CVQno2.setOnClickListener {
|
||||||
|
binding.CVQyes2.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQno2.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
two = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun buttenAdd3() {
|
||||||
|
binding.CVQyes3.setOnClickListener {
|
||||||
|
binding.CVQyes3.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQno3.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
thee = 1
|
||||||
|
}
|
||||||
|
binding.CVQno3.setOnClickListener {
|
||||||
|
binding.CVQyes3.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQno3.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
thee = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun buttenAdd4() {
|
||||||
|
binding.CVQyes4.setOnClickListener {
|
||||||
|
binding.CVQyes4.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQno4.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
four = 1
|
||||||
|
}
|
||||||
|
binding.CVQno4.setOnClickListener {
|
||||||
|
binding.CVQyes4.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQno4.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
four = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun buttenAdd5() {
|
||||||
|
binding.CVQyes5.setOnClickListener {
|
||||||
|
binding.CVQyes5.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQno5.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
five = 1
|
||||||
|
}
|
||||||
|
binding.CVQno5.setOnClickListener {
|
||||||
|
binding.CVQyes5.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQno5.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
five = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun buttenAdd6() {
|
||||||
|
binding.CVQyes6.setOnClickListener {
|
||||||
|
binding.CVQyes6.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQno6.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
six = 1
|
||||||
|
}
|
||||||
|
binding.CVQno6.setOnClickListener {
|
||||||
|
binding.CVQyes6.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQno6.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
six = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun buttenAdd7() {
|
||||||
|
binding.CVQyes7.setOnClickListener {
|
||||||
|
binding.CVQyes7.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQno7.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
seven = 1
|
||||||
|
}
|
||||||
|
binding.CVQno7.setOnClickListener {
|
||||||
|
binding.CVQyes7.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQno7.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
seven = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun buttenAdd8() {
|
||||||
|
binding.CVQyes8.setOnClickListener {
|
||||||
|
binding.CVQyes8.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQno8.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
eight = 1
|
||||||
|
}
|
||||||
|
binding.CVQno8.setOnClickListener {
|
||||||
|
binding.CVQyes8.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQno8.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
eight = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun buttenAdd9() {
|
||||||
|
binding.CVQyes9.setOnClickListener {
|
||||||
|
binding.CVQyes9.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
binding.CVQno9.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
nine = 1
|
||||||
|
}
|
||||||
|
binding.CVQno9.setOnClickListener {
|
||||||
|
binding.CVQyes9.setCardBackgroundColor(Color.parseColor("#A8A8A8"))
|
||||||
|
binding.CVQno9.setCardBackgroundColor(Color.parseColor("#3AB0FF"))
|
||||||
|
nine = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,99 @@
|
||||||
|
package com.example.rehabilitation.Retrofit
|
||||||
|
|
||||||
|
import com.example.rehabilitation.Auth.Model.AuthModel
|
||||||
|
import com.example.rehabilitation.Auth.Model.CheckTokenModel
|
||||||
|
import com.example.rehabilitation.Auth.Model.UserModel
|
||||||
|
import com.example.rehabilitation.Calendare.CalendareListModel
|
||||||
|
import com.example.rehabilitation.MessageModel
|
||||||
|
import com.example.rehabilitation.Progress.ProgressListModel
|
||||||
|
import com.example.rehabilitation.Progress.ProgressModel
|
||||||
|
import com.example.rehabilitation.Questionnaire.Model.AfterQuestionnaireMessage
|
||||||
|
import com.example.rehabilitation.Questionnaire.Model.AfterQuestionnaireModel
|
||||||
|
import com.example.rehabilitation.Questionnaire.Model.BeforeQuestionnaireMessage
|
||||||
|
import com.example.rehabilitation.Questionnaire.Model.BeforeQuestionnaireModel
|
||||||
|
import com.example.rehabilitation.Questionnaire.Model.QuestionnaireModel
|
||||||
|
import com.example.rehabilitation.Sport.DayListModel
|
||||||
|
import com.example.rehabilitation.Sport.DayModel
|
||||||
|
import com.example.rehabilitation.Sport.SportDayOneModel
|
||||||
|
import com.example.rehabilitation.Sport.SportForDayListModel
|
||||||
|
import com.example.rehabilitation.Sport.SportForDayModel
|
||||||
|
import com.example.rehabilitation.Sport.SportListModel
|
||||||
|
import com.example.rehabilitation.Sport.UpdateSportTrueFalseModel
|
||||||
|
import com.example.rehabilitation.Sport.ViewFragmentModel
|
||||||
|
import com.example.rehabilitation.Sport.ViewVisibleModel
|
||||||
|
import retrofit2.Response
|
||||||
|
import retrofit2.http.Body
|
||||||
|
import retrofit2.http.GET
|
||||||
|
import retrofit2.http.Header
|
||||||
|
import retrofit2.http.Headers
|
||||||
|
import retrofit2.http.POST
|
||||||
|
import retrofit2.http.PUT
|
||||||
|
import retrofit2.http.Query
|
||||||
|
|
||||||
|
interface PatientApi {
|
||||||
|
|
||||||
|
//Проверка токена
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@GET("CheckTokenPatient")
|
||||||
|
suspend fun CheckToken(@Header("Authorization") token:String): Response<CheckTokenModel>
|
||||||
|
|
||||||
|
//Авторизация
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@POST("LoginPatient")
|
||||||
|
suspend fun LoginPatient(@Body authModel: AuthModel): Response<UserModel>
|
||||||
|
|
||||||
|
//Выход из аккаунта
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@POST("LogoutPatient")
|
||||||
|
suspend fun LogoutPatient(@Header("Authorization") token:String):Response<MessageModel>
|
||||||
|
|
||||||
|
//Заполнение анкеты ДО
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@POST("AddBeforeQuestionnaire2")
|
||||||
|
suspend fun AddBeforeQuestionnaire2(@Header("Authorization") token:String,@Body beforeQuestionnaireModel: BeforeQuestionnaireModel): Response<MessageModel>
|
||||||
|
|
||||||
|
//Заполнение анкеты ПОСЛЕ
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@POST("AddAfterQuestionnaire2")
|
||||||
|
suspend fun AddAfterQuestionnaire2(@Header("Authorization") token:String,@Body afterQuestionnaireModel: AfterQuestionnaireModel) : Response<MessageModel>
|
||||||
|
|
||||||
|
//Добавление курса на сегодня
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@POST("AddCourses2")
|
||||||
|
suspend fun AddCourses2(@Header("Authorization") token:String)
|
||||||
|
|
||||||
|
//Вывод списка спортивных задания на 1 день
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@GET("CoutSportCourses")
|
||||||
|
suspend fun CoutSportCourses(@Header("Authorization") token:String)
|
||||||
|
|
||||||
|
//Вывод нужного экрана
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@GET("VisibleView3")
|
||||||
|
suspend fun VisibleView3(@Header("Authorization") token:String) :Response<ViewVisibleModel>
|
||||||
|
|
||||||
|
//Вывод календаря
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@GET("PatientCalendareDay")
|
||||||
|
suspend fun PatientCalendareDay(@Header("Authorization") token:String):Response<CalendareListModel>
|
||||||
|
|
||||||
|
//Вывод списка упражнений
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@GET("GetSportDay")
|
||||||
|
suspend fun GetSportDay(@Header("Authorization") token:String):Response<SportForDayListModel>
|
||||||
|
|
||||||
|
//Вывод определенного упражнения
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@GET("GetSportDayOne")
|
||||||
|
suspend fun GetSportDayOne(@Header("Authorization") token:String,@Query("id") id:Int):Response<SportDayOneModel>
|
||||||
|
|
||||||
|
//Подтвержденеи упражнения
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@PUT("AddSportCheck")
|
||||||
|
suspend fun AddSportCheck(@Header("Authorization") token:String,@Query("id") id:Int, @Query("check") check:Int):Response<MessageModel>
|
||||||
|
|
||||||
|
//Список прогресса по дням
|
||||||
|
@Headers("Content-Type: application/json")
|
||||||
|
@GET("ProgressPatientCourses")
|
||||||
|
suspend fun ProgressPatientCourses(@Header("Authorization") token:String):Response<ProgressListModel>
|
||||||
|
}
|
|
@ -1,35 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.Dao
|
|
||||||
import androidx.room.Insert
|
|
||||||
import androidx.room.Query
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
|
||||||
|
|
||||||
@Dao
|
|
||||||
interface Dao {
|
|
||||||
//Таблица по по дням
|
|
||||||
@Insert
|
|
||||||
fun insertItem(item:Item)
|
|
||||||
//Таблица определенного дня
|
|
||||||
|
|
||||||
|
|
||||||
//Список по дням
|
|
||||||
@Query("SELECT * FROM items ORDER BY id ASC")
|
|
||||||
fun getAllItems(): Flow<List<Item>>
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
// @Query("SELECT * FROM itemDay")
|
|
||||||
// fun getAllItemDay(): Flow<List<ItemDay>>
|
|
||||||
|
|
||||||
//Обновление по переднному параметру
|
|
||||||
@Query("UPDATE items SET `check` = 1 WHERE id = :id")
|
|
||||||
fun updateItems(id : String)
|
|
||||||
|
|
||||||
@Query("UPDATE items SET `day` = :day WHERE date = :date")
|
|
||||||
fun updateDay(day:String,date : String)
|
|
||||||
|
|
||||||
//Очистка таблицы
|
|
||||||
@Query("DELETE FROM items")
|
|
||||||
fun deleteItem()
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,60 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.Dao
|
|
||||||
import androidx.room.Insert
|
|
||||||
import androidx.room.Query
|
|
||||||
import androidx.room.Update
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
|
||||||
|
|
||||||
|
|
||||||
@Dao
|
|
||||||
interface DaoDaySport {
|
|
||||||
//Таблица определенного дня
|
|
||||||
@Insert
|
|
||||||
fun insertItemDaySport(itemDaySport:ItemDaySport)
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
@Query("SELECT * FROM DaySport ORDER BY day ASC")
|
|
||||||
fun getAllItemDaySportDay(): Flow<List<ItemDaySport>>
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
@Query("SELECT * FROM DaySport WHERE day = :day AND visible = 1")
|
|
||||||
fun getAllItemDaySport(day:String): Flow<List<ItemDaySport>>
|
|
||||||
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
@Query("SELECT id,day,category, `check`,COUNT(*) as visible FROM DaySport WHERE visible='1' GROUP BY day ORDER BY day ASC")
|
|
||||||
fun getAllProgres(): Flow<List<ItemDaySport>>
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
@Query("SELECT id,day,category, COUNT(*) as `check`, visible FROM DaySport WHERE `check`='1' and visible='1' GROUP BY day ORDER BY day ASC")
|
|
||||||
fun getcheckProgress(): Flow<List<ItemDaySport>>
|
|
||||||
//Получаем любую рандомну строку для того чтобы использовать его дату в редактирование списка
|
|
||||||
@Query("SELECT * FROM DaySport ORDER BY day DESC LIMIT 1")
|
|
||||||
fun getItemDaySportRandomOne(): Flow<List<ItemDaySport>>
|
|
||||||
|
|
||||||
@Update
|
|
||||||
fun updateCheckDaySport(itemDaySport: ItemDaySport)
|
|
||||||
|
|
||||||
@Query("SELECT DaySport.id as id ,DaySport.day as day,DaySport.category as category, DaySport.`check` as `check`,DaySport.visible as visible, SportCategory.`desc` as `desc`, SportCategory.image as categoryImage FROM DaySport JOIN SportCategory ON DaySport.category = SportCategory.category WHERE DaySport.day == :date ORDER BY day ASC")
|
|
||||||
fun getListJoinDaySportAndSportCategory(date:String): Flow<List<ItemDaySportAndSportCategory>>
|
|
||||||
|
|
||||||
//Обновляем видимость у записей с данным
|
|
||||||
@Query("UPDATE DaySport SET visible = 1 WHERE category = :category AND day>=:date")
|
|
||||||
fun updateVisibleDaySportTrue(category:String,date :String)
|
|
||||||
@Query("UPDATE DaySport SET visible = 0 WHERE category = :category AND day>=:date")
|
|
||||||
fun updateVisibleDaySportFalse(category:String,date :String)
|
|
||||||
|
|
||||||
|
|
||||||
//Обновление что выполнил упражнение
|
|
||||||
@Query("UPDATE DaySport SET `check` = 1 WHERE id = :id")
|
|
||||||
fun updateCheckDaySport(id:Int)
|
|
||||||
|
|
||||||
@Query("UPDATE DaySport SET `check` = 2 WHERE id = :id")
|
|
||||||
fun updateNoCheckDaySport(id:Int)
|
|
||||||
|
|
||||||
//Очистка таблицы
|
|
||||||
@Query("DELETE FROM DaySport")
|
|
||||||
fun deleteItemDaySport()
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.Dao
|
|
||||||
import androidx.room.Insert
|
|
||||||
import androidx.room.Query
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
|
||||||
|
|
||||||
@Dao
|
|
||||||
interface DaoImage {
|
|
||||||
//Таблица определенного дня
|
|
||||||
@Insert
|
|
||||||
fun insertItemImage(itemImage:ItemImage)
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
@Query("SELECT * FROM Image")
|
|
||||||
fun getAllItemImage(): Flow<List<ItemImage>>
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
@Query("SELECT * FROM Image WHERE article = :article ORDER BY id ASC")
|
|
||||||
fun getAllItemImage(article:String): Flow<List<ItemImage>>
|
|
||||||
|
|
||||||
//Очистка таблицы
|
|
||||||
@Query("DELETE FROM Image")
|
|
||||||
fun deleteItemImage()
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.Dao
|
|
||||||
import androidx.room.Insert
|
|
||||||
import androidx.room.Query
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
|
||||||
|
|
||||||
@Dao
|
|
||||||
interface DaoSportCategory {
|
|
||||||
//Таблица по по дням
|
|
||||||
@Insert
|
|
||||||
fun insertItemSportCategory(item:ItemSportCategory)
|
|
||||||
//Таблица определенного дня
|
|
||||||
|
|
||||||
|
|
||||||
//Список по дням
|
|
||||||
@Query("SELECT * FROM SportCategory WHERE category = :category")
|
|
||||||
fun getAllItemsSportCategory(category:String): Flow<List<ItemSportCategory>>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// @Query("SELECT * FROM SportCategory WHERE image = :category")
|
|
||||||
// fun getAllItemsSportCategoryEdit(category:String): Flow<List<ItemSportCategory>>
|
|
||||||
//
|
|
||||||
|
|
||||||
@Query("SELECT id, name, `desc`, count,COUNT(*) as image,category,article,`check` FROM SportCategory WHERE image = :category and `check`=0")
|
|
||||||
fun getAllItemsSportCategoryCount(category:String): Flow<List<ItemSportCategory>>
|
|
||||||
|
|
||||||
@Query("SELECT id, name, `desc`,COUNT(*) as count,image,category,article,`check` FROM SportCategory WHERE image = :category and `check`=0")
|
|
||||||
fun getAllItemsSportCategoryCountSport(category:String): Flow<List<ItemSportCategory>>
|
|
||||||
|
|
||||||
//По артикулу
|
|
||||||
@Query("SELECT id, name, `desc`,COUNT(*) as count,image,category,article,`check` FROM SportCategory WHERE article = :article")
|
|
||||||
fun getSportArticle(article:String): Flow<List<ItemSportCategory>>
|
|
||||||
|
|
||||||
//Rjkbxtcndj eghf;ytybq
|
|
||||||
@Query("SELECT id, COUNT(*) as name, `desc`, count, image,category,article,`check` FROM SportCategory WHERE article = :article and `check` = 0")
|
|
||||||
fun getCountSportCategory(article:String): Flow<List<ItemSportCategory>>
|
|
||||||
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
// @Query("SELECT * FROM itemDay")
|
|
||||||
// fun getAllItemDay(): Flow<List<ItemDay>>
|
|
||||||
|
|
||||||
//Обновление по переднному параметру
|
|
||||||
// @Query("UPDATE itemSportCategory SET `check` = 1 WHERE id = :id")
|
|
||||||
// fun updateItemsSportCategory(id : String)
|
|
||||||
|
|
||||||
//Очистка таблицы
|
|
||||||
// @Query("DELETE FROM SportCategory")
|
|
||||||
// fun deleteItemSportCategory()
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.Dao
|
|
||||||
import androidx.room.Insert
|
|
||||||
import androidx.room.Query
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
|
||||||
|
|
||||||
@Dao
|
|
||||||
interface DaoSportPatient {
|
|
||||||
//Таблица по по дням
|
|
||||||
@Insert
|
|
||||||
fun insertItemSportPatient(item:ItemSportPatient)
|
|
||||||
//Таблица определенного дня
|
|
||||||
|
|
||||||
|
|
||||||
//Список по дням
|
|
||||||
@Query("SELECT * FROM SportPatient WHERE image = :category")
|
|
||||||
fun getAllItemsSportPatient(category:String): Flow<List<ItemSportPatient>>
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
// @Query("SELECT * FROM itemDay")
|
|
||||||
// fun getAllItemDay(): Flow<List<ItemDay>>
|
|
||||||
|
|
||||||
//Обновление по переднному параметру
|
|
||||||
// @Query("UPDATE itemSportCategory SET `check` = 1 WHERE id = :id")
|
|
||||||
// fun updateItemsSportCategory(id : String)
|
|
||||||
|
|
||||||
//Очистка таблицы
|
|
||||||
// @Query("DELETE FROM SportPatient")
|
|
||||||
// fun deleteItemSportPatient()
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
import androidx.room.Entity
|
|
||||||
import androidx.room.PrimaryKey
|
|
||||||
|
|
||||||
@Entity(tableName = "Items")
|
|
||||||
data class Item(
|
|
||||||
@PrimaryKey(autoGenerate = true)
|
|
||||||
var id:Int? = null,
|
|
||||||
@ColumnInfo(name = "day")
|
|
||||||
var day: String,
|
|
||||||
@ColumnInfo(name = "date")
|
|
||||||
var date: String,
|
|
||||||
@ColumnInfo(name = "check")
|
|
||||||
var check:Int
|
|
||||||
)
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
import androidx.room.Entity
|
|
||||||
import androidx.room.PrimaryKey
|
|
||||||
|
|
||||||
@Entity(tableName = "DaySport")
|
|
||||||
data class ItemDaySport(
|
|
||||||
@PrimaryKey(autoGenerate = true)
|
|
||||||
var id:Int? = null,
|
|
||||||
@ColumnInfo(name = "day")
|
|
||||||
var day:String,
|
|
||||||
@ColumnInfo(name = "category")
|
|
||||||
var category:String,
|
|
||||||
@ColumnInfo(name = "check")
|
|
||||||
var check:Int,
|
|
||||||
@ColumnInfo(name = "visible")
|
|
||||||
var visible:Int,
|
|
||||||
|
|
||||||
)
|
|
|
@ -1,24 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
import androidx.room.Entity
|
|
||||||
import androidx.room.PrimaryKey
|
|
||||||
|
|
||||||
@Entity(tableName = "ItemDaySportAndSportCategory")
|
|
||||||
data class ItemDaySportAndSportCategory(
|
|
||||||
@ColumnInfo(name = "id")
|
|
||||||
var id:Int,
|
|
||||||
@ColumnInfo(name = "day")
|
|
||||||
var day:String,
|
|
||||||
@ColumnInfo(name = "category")
|
|
||||||
var category:String,
|
|
||||||
@ColumnInfo(name = "check")
|
|
||||||
var check:Int,
|
|
||||||
@ColumnInfo(name = "visible")
|
|
||||||
var visible:Int,
|
|
||||||
@ColumnInfo(name = "desc")
|
|
||||||
var desc:String,
|
|
||||||
@ColumnInfo(name = "categoryImage")
|
|
||||||
var categoryImage:String,
|
|
||||||
)
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
import androidx.room.Entity
|
|
||||||
import androidx.room.PrimaryKey
|
|
||||||
|
|
||||||
@Entity(tableName = "Image")
|
|
||||||
data class ItemImage(
|
|
||||||
@PrimaryKey(autoGenerate = true)
|
|
||||||
var id:Int? = null,
|
|
||||||
@ColumnInfo(name = "nameImage")
|
|
||||||
var image:String,
|
|
||||||
@ColumnInfo(name = "article")
|
|
||||||
var name:String,
|
|
||||||
@ColumnInfo(name = "category")
|
|
||||||
var category:String,
|
|
||||||
)
|
|
|
@ -1,16 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
import androidx.room.Entity
|
|
||||||
import androidx.room.PrimaryKey
|
|
||||||
|
|
||||||
@Entity(tableName = "ItemProgressAll")
|
|
||||||
data class ItemProgressAll(
|
|
||||||
@ColumnInfo(name = "date")
|
|
||||||
var date:String,
|
|
||||||
@ColumnInfo(name = "countAll")
|
|
||||||
var countAll:Int,
|
|
||||||
@ColumnInfo(name = "category")
|
|
||||||
var category:String,
|
|
||||||
|
|
||||||
)
|
|
|
@ -1,16 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
import androidx.room.Entity
|
|
||||||
import androidx.room.PrimaryKey
|
|
||||||
|
|
||||||
@Entity(tableName = "ItemProgressCheck")
|
|
||||||
data class ItemProgressCheck(
|
|
||||||
@ColumnInfo(name = "date")
|
|
||||||
var date:String,
|
|
||||||
@ColumnInfo(name = "countCheck")
|
|
||||||
var countCheck:Int,
|
|
||||||
@ColumnInfo(name = "category")
|
|
||||||
var category:String,
|
|
||||||
|
|
||||||
)
|
|
|
@ -1,20 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
import androidx.room.Entity
|
|
||||||
import androidx.room.PrimaryKey
|
|
||||||
|
|
||||||
@Entity(tableName = "ItemProgressDay")
|
|
||||||
data class ItemProgressDay(
|
|
||||||
@PrimaryKey(autoGenerate = true)
|
|
||||||
var id:Int? = null,
|
|
||||||
@ColumnInfo(name = "countAll")
|
|
||||||
var countAll:Int,
|
|
||||||
@ColumnInfo(name = "CountCheckTrue")
|
|
||||||
var CountCheckTrue:Int,
|
|
||||||
@ColumnInfo(name = "category")
|
|
||||||
var category:String,
|
|
||||||
@ColumnInfo(name = "date")
|
|
||||||
var date:Int,
|
|
||||||
|
|
||||||
)
|
|
|
@ -1,26 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
import androidx.room.Entity
|
|
||||||
import androidx.room.PrimaryKey
|
|
||||||
|
|
||||||
@Entity(tableName = "SportCategory")
|
|
||||||
data class ItemSportCategory(
|
|
||||||
@PrimaryKey(autoGenerate = true)
|
|
||||||
var id: Int? = null,
|
|
||||||
@ColumnInfo(name = "name")
|
|
||||||
var name: String,
|
|
||||||
@ColumnInfo(name = "desc")
|
|
||||||
var desc: String,
|
|
||||||
@ColumnInfo(name = "count")
|
|
||||||
var count: String,
|
|
||||||
@ColumnInfo(name = "image")
|
|
||||||
var image: String,
|
|
||||||
@ColumnInfo(name = "category")
|
|
||||||
var category: String,
|
|
||||||
@ColumnInfo(name = "article")
|
|
||||||
var article: String,
|
|
||||||
@ColumnInfo(name = "check")
|
|
||||||
var check: Int
|
|
||||||
)
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
|
|
||||||
data class ItemSportCategoryCount(
|
|
||||||
@ColumnInfo(name = "count")
|
|
||||||
var count:String,
|
|
||||||
)
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
import androidx.room.Entity
|
|
||||||
import androidx.room.PrimaryKey
|
|
||||||
|
|
||||||
@Entity(tableName = "SportPatient")
|
|
||||||
data class ItemSportPatient(
|
|
||||||
@PrimaryKey(autoGenerate = true)
|
|
||||||
var id:Int? = null,
|
|
||||||
@ColumnInfo(name = "name")
|
|
||||||
var name:String,
|
|
||||||
@ColumnInfo(name = "desc")
|
|
||||||
var desc:String,
|
|
||||||
@ColumnInfo(name = "count")
|
|
||||||
var count:String,
|
|
||||||
@ColumnInfo(name = "image")
|
|
||||||
var image:String,
|
|
||||||
@ColumnInfo(name = "day")
|
|
||||||
var day:String
|
|
||||||
)
|
|
||||||
|
|
|
@ -1,162 +0,0 @@
|
||||||
package com.example.rehabilitation.Room
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import androidx.room.Database
|
|
||||||
import androidx.room.Room.databaseBuilder
|
|
||||||
import androidx.room.RoomDatabase
|
|
||||||
import com.example.rehabilitation.Room.Questionnaire.After.DaoAfterQuestionnaire
|
|
||||||
import com.example.rehabilitation.Room.Questionnaire.After.ItemAfterQuestionnaire
|
|
||||||
import com.example.rehabilitation.Room.Questionnaire.Before.DaoBeforeQuestionnaire
|
|
||||||
import com.example.rehabilitation.Room.Questionnaire.Before.ItemBeforeQuestionnaire
|
|
||||||
import com.example.rehabilitation.Room.dbUser.dbDoctor.DaoDoctor
|
|
||||||
import com.example.rehabilitation.Room.dbUser.dbDoctor.ItemDoctor
|
|
||||||
import com.example.rehabilitation.Room.dbUser.dbPatient.DaoPatient
|
|
||||||
import com.example.rehabilitation.Room.dbUser.dbPatient.ItemPatient
|
|
||||||
|
|
||||||
|
|
||||||
@Database(entities = [
|
|
||||||
Item::class,
|
|
||||||
ItemDaySport::class,
|
|
||||||
ItemImage::class,
|
|
||||||
ItemSportCategory::class,
|
|
||||||
ItemSportPatient::class,
|
|
||||||
ItemDoctor::class,
|
|
||||||
ItemPatient::class,
|
|
||||||
ItemBeforeQuestionnaire::class,
|
|
||||||
ItemAfterQuestionnaire::class,
|
|
||||||
], version = 12)
|
|
||||||
abstract class MainDB: RoomDatabase() {
|
|
||||||
|
|
||||||
abstract fun getDao(): Dao
|
|
||||||
abstract fun getDaoDaySport(): DaoDaySport
|
|
||||||
abstract fun getDaoImage(): DaoImage
|
|
||||||
abstract fun getDaoSportCategory(): DaoSportCategory
|
|
||||||
abstract fun getDaoSportPatient(): DaoSportPatient
|
|
||||||
abstract fun getDaoDoctor(): DaoDoctor
|
|
||||||
abstract fun getDaoPatient(): DaoPatient
|
|
||||||
abstract fun getDaoQB(): DaoBeforeQuestionnaire
|
|
||||||
abstract fun getDaoQA(): DaoAfterQuestionnaire
|
|
||||||
//
|
|
||||||
|
|
||||||
companion object{
|
|
||||||
// fun getDB(context: Context):MainDB{
|
|
||||||
// return Room.databaseBuilder(
|
|
||||||
// context.applicationContext,
|
|
||||||
// MainDB::class.java,
|
|
||||||
// "ClogonV22.db"
|
|
||||||
// ).build()
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
//private val DB_NAME: String? = "ReabilitationV2.db"
|
|
||||||
//
|
|
||||||
// fun buildDatabase(context: Context): MainDB? {
|
|
||||||
// val dbFile = context.getDatabasePath(DB_NAME)
|
|
||||||
// if (!dbFile.exists()) {
|
|
||||||
// copyDatabaseFile(dbFile.absolutePath)
|
|
||||||
// }
|
|
||||||
// return databaseBuilder(
|
|
||||||
// context.applicationContext,
|
|
||||||
// MainDB::class.java, DB_NAME
|
|
||||||
// )
|
|
||||||
// .build()
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// private fun copyDatabaseFile(destinationPath: String) {
|
|
||||||
// // code to copy the file from assets/database directory to destinationPath
|
|
||||||
// }
|
|
||||||
fun getDB(context: Context):MainDB{
|
|
||||||
return databaseBuilder(context, MainDB::class.java,"ReabilitationV4.db")
|
|
||||||
.createFromAsset("ReabilitationV4.db")
|
|
||||||
.fallbackToDestructiveMigration()
|
|
||||||
.build()
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*abstract class MainDB: RoomDatabase(){
|
|
||||||
abstract fun getDao(): Dao
|
|
||||||
abstract fun getDaoDaySport(): DaoDaySport
|
|
||||||
abstract fun getDaoImage(): DaoImage
|
|
||||||
abstract fun getDaoSportCategory(): DaoSportCategory
|
|
||||||
abstract fun getDaoSportPatient(): DaoSportPatient
|
|
||||||
override fun init(configuration: DatabaseConfiguration) {
|
|
||||||
importExistingDatabase(
|
|
||||||
configuration.context,
|
|
||||||
true
|
|
||||||
) //<<<<<<<<<< Invokes the Import of the Exisiting Database.
|
|
||||||
super.init(configuration)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun importExistingDatabase(context: Context, throw_exception: Boolean) {
|
|
||||||
val buffer_size = 32768
|
|
||||||
val dbpath = context.getDatabasePath(DBNAME)
|
|
||||||
if (dbpath.exists()) {
|
|
||||||
return // Database already exists
|
|
||||||
}
|
|
||||||
// Just in case make the directories
|
|
||||||
val dirs = File(dbpath.parent)
|
|
||||||
dirs.mkdirs()
|
|
||||||
var stage = 0
|
|
||||||
val buffer = ByteArray(buffer_size)
|
|
||||||
var total_bytes_read: Long = 0
|
|
||||||
var total_bytes_written: Long = 0
|
|
||||||
var bytes_read = 0
|
|
||||||
try {
|
|
||||||
val assetdb = context.assets.open(DBNAME)
|
|
||||||
stage++
|
|
||||||
dbpath.createNewFile()
|
|
||||||
stage++
|
|
||||||
val realdb: OutputStream = FileOutputStream(dbpath)
|
|
||||||
stage++
|
|
||||||
while (assetdb.read(buffer).also { bytes_read = it } > 0) {
|
|
||||||
total_bytes_read = total_bytes_read + bytes_read
|
|
||||||
realdb.write(buffer, 0, bytes_read)
|
|
||||||
total_bytes_written = total_bytes_written + bytes_read
|
|
||||||
}
|
|
||||||
stage++
|
|
||||||
realdb.flush()
|
|
||||||
stage++
|
|
||||||
assetdb.close()
|
|
||||||
stage++
|
|
||||||
realdb.close()
|
|
||||||
stage++
|
|
||||||
} catch (e: IOException) {
|
|
||||||
var failed_at = ""
|
|
||||||
when (stage) {
|
|
||||||
0 -> failed_at = "Opening Asset " + DBNAME
|
|
||||||
1 -> failed_at = "Creating Output Database " + dbpath.absolutePath
|
|
||||||
2 -> failed_at = "Genreating Database OutputStream " + dbpath.absolutePath
|
|
||||||
3 -> failed_at = "Copying Data from Asset Database to Output Database. " +
|
|
||||||
" Bytes read=" + total_bytes_read.toString() +
|
|
||||||
" Bytes written=" + total_bytes_written.toString()
|
|
||||||
|
|
||||||
4 -> failed_at = "Flushing Written Data ($total_bytes_written bytes written)"
|
|
||||||
5 -> failed_at = "Closing Asset Database File."
|
|
||||||
6 -> failed_at = "Closing Created Database File."
|
|
||||||
}
|
|
||||||
val msg =
|
|
||||||
"""An error was encountered copying the Database from the asset file to New Database. The error was encountered whilst :-
|
|
||||||
$failed_at"""
|
|
||||||
Log.e("IMPORTDATABASE", msg)
|
|
||||||
e.printStackTrace()
|
|
||||||
if (throw_exception) {
|
|
||||||
throw RuntimeException(msg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
const val DBNAME = "ClogonV3.db"
|
|
||||||
const val TB_MYTABLE = "mytable"
|
|
||||||
const val TB_MYOTHERTABLE = "myothertable"
|
|
||||||
const val TB_MYMAPPINGTABLE = "mymappingtable"
|
|
||||||
const val COL_MYTABLE_ID = BaseColumns._ID
|
|
||||||
const val COL_MYTABLE_NAME = "_name"
|
|
||||||
const val COL_MYTABLE_DESCRIPTION = "_description"
|
|
||||||
const val COL_MYOTHERTABLE_ID = BaseColumns._ID
|
|
||||||
const val COL_MYOTHERTABLE_OTHERDETAILS = "_otherdetails"
|
|
||||||
const val COL_MYMAPPINGTABLE_MYTABLEREFERENCE = "_mytable_reference"
|
|
||||||
const val COL_MYMAPPINGTABLE_MYOTEHERTABLEREFERENCE = "_myothertable_reference"
|
|
||||||
}
|
|
||||||
}*/
|
|
|
@ -1,44 +0,0 @@
|
||||||
package com.example.rehabilitation.Room.Questionnaire.After
|
|
||||||
|
|
||||||
import androidx.room.Dao
|
|
||||||
import androidx.room.Insert
|
|
||||||
import androidx.room.Query
|
|
||||||
import com.example.rehabilitation.Room.Item
|
|
||||||
import com.example.rehabilitation.Room.Questionnaire.Before.ItemBeforeQuestionnaire
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
|
||||||
|
|
||||||
@Dao
|
|
||||||
interface DaoAfterQuestionnaire {
|
|
||||||
//Таблица по по дням
|
|
||||||
@Insert
|
|
||||||
fun insertAQ(itemAfterQuestionnaire: ItemAfterQuestionnaire)
|
|
||||||
//Таблица определенного дня
|
|
||||||
|
|
||||||
|
|
||||||
//// //Список по дням
|
|
||||||
// @Query("SELECT * FROM AfterQuestionnaire ORDER BY date ASC")
|
|
||||||
// fun getAllAQ(): Flow<List<ItemAfterQuestionnaire>>
|
|
||||||
|
|
||||||
|
|
||||||
//Весь список
|
|
||||||
@Query("SELECT * FROM AfterQuestionnaire ORDER BY date ASC")
|
|
||||||
fun getAllAQProgress(): Flow<List<ItemAfterQuestionnaire>>
|
|
||||||
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
@Query("SELECT * FROM AfterQuestionnaire WHERE date = :date")
|
|
||||||
fun getAllAQDay(date:String): Flow<List<ItemAfterQuestionnaire>>
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
@Query("SELECT * FROM AfterQuestionnaire WHERE date = :date")
|
|
||||||
fun getAllProgress(date:String): Flow<List<ItemAfterQuestionnaire>>
|
|
||||||
|
|
||||||
//Обновление по переднному параметру
|
|
||||||
//@Query("UPDATE AfterQuestionnaire SET `check` = 1 WHERE id = :id")
|
|
||||||
//fun updateAQ(id : String)
|
|
||||||
|
|
||||||
//Очистка таблицы
|
|
||||||
@Query("DELETE FROM AfterQuestionnaire")
|
|
||||||
fun deleteAQ()
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,38 +0,0 @@
|
||||||
package com.example.rehabilitation.Room.Questionnaire.After
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
import androidx.room.Entity
|
|
||||||
import androidx.room.PrimaryKey
|
|
||||||
|
|
||||||
@Entity(tableName = "AfterQuestionnaire")
|
|
||||||
data class ItemAfterQuestionnaire(
|
|
||||||
@PrimaryKey(autoGenerate = true)
|
|
||||||
var id:Int? = null,
|
|
||||||
@ColumnInfo(name = "one")
|
|
||||||
var one: String,
|
|
||||||
@ColumnInfo(name = "two")
|
|
||||||
var two: String,
|
|
||||||
@ColumnInfo(name = "three")
|
|
||||||
var three: String,
|
|
||||||
@ColumnInfo(name = "four")
|
|
||||||
var four:String,
|
|
||||||
@ColumnInfo(name = "five")
|
|
||||||
var five:String,
|
|
||||||
@ColumnInfo(name = "six")
|
|
||||||
var six:String,
|
|
||||||
@ColumnInfo(name = "seven")
|
|
||||||
var seven:String,
|
|
||||||
@ColumnInfo(name = "eight")
|
|
||||||
var eight:String,
|
|
||||||
@ColumnInfo(name = "nine")
|
|
||||||
var nine:String,
|
|
||||||
@ColumnInfo(name = "ten")
|
|
||||||
var ten:String,
|
|
||||||
@ColumnInfo(name = "eleven")
|
|
||||||
var elevenInt:String,
|
|
||||||
@ColumnInfo(name = "twelve")
|
|
||||||
var twelve:String,
|
|
||||||
@ColumnInfo(name = "date")
|
|
||||||
var date:String,
|
|
||||||
)
|
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
package com.example.rehabilitation.Room.Questionnaire.Before
|
|
||||||
|
|
||||||
import androidx.room.Dao
|
|
||||||
import androidx.room.Insert
|
|
||||||
import androidx.room.Query
|
|
||||||
import com.example.rehabilitation.Room.Item
|
|
||||||
import com.example.rehabilitation.Room.Questionnaire.After.ItemAfterQuestionnaire
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
|
||||||
|
|
||||||
@Dao
|
|
||||||
interface DaoBeforeQuestionnaire {
|
|
||||||
//Таблица по по дням
|
|
||||||
@Insert
|
|
||||||
fun insertBQ(item: ItemBeforeQuestionnaire)
|
|
||||||
//Таблица определенного дня
|
|
||||||
|
|
||||||
|
|
||||||
// // //Список по дням
|
|
||||||
// @Query("SELECT * FROM BeforeQuestionnaire ORDER BY date ASC")
|
|
||||||
// fun getAllBQ(): Flow<List<ItemAfterQuestionnaire>>
|
|
||||||
|
|
||||||
//Весь список
|
|
||||||
@Query("SELECT * FROM BeforeQuestionnaire ORDER BY date ASC")
|
|
||||||
fun getAllBQProgress(): Flow<List<ItemBeforeQuestionnaire>>
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
@Query("SELECT * FROM BeforeQuestionnaire WHERE date = :date")
|
|
||||||
fun getAllBQDay(date:String): Flow<List<ItemBeforeQuestionnaire>>
|
|
||||||
|
|
||||||
//Обновление по переднному параметру
|
|
||||||
//@Query("UPDATE BeforeQuestionnaire SET `check` = 1 WHERE id = :id")
|
|
||||||
//fun updateBQ(id : String)
|
|
||||||
|
|
||||||
//Очистка таблицы
|
|
||||||
@Query("DELETE FROM BeforeQuestionnaire")
|
|
||||||
fun deleteBQ()
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
package com.example.rehabilitation.Room.Questionnaire.Before
|
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
|
||||||
import androidx.room.Entity
|
|
||||||
import androidx.room.PrimaryKey
|
|
||||||
|
|
||||||
@Entity(tableName = "BeforeQuestionnaire")
|
|
||||||
data class ItemBeforeQuestionnaire(
|
|
||||||
@PrimaryKey(autoGenerate = true)
|
|
||||||
var id:Int? = null,
|
|
||||||
@ColumnInfo(name = "one")
|
|
||||||
var one: String,
|
|
||||||
@ColumnInfo(name = "two")
|
|
||||||
var two: String,
|
|
||||||
@ColumnInfo(name = "three")
|
|
||||||
var three: String,
|
|
||||||
@ColumnInfo(name = "four")
|
|
||||||
var four:String,
|
|
||||||
@ColumnInfo(name = "five")
|
|
||||||
var five:String,
|
|
||||||
@ColumnInfo(name = "six")
|
|
||||||
var six:String,
|
|
||||||
@ColumnInfo(name = "seven")
|
|
||||||
var seven:String,
|
|
||||||
@ColumnInfo(name = "eight")
|
|
||||||
var eight:String,
|
|
||||||
@ColumnInfo(name = "nine")
|
|
||||||
var nine:String,
|
|
||||||
|
|
||||||
@ColumnInfo(name = "date")
|
|
||||||
var date:String,
|
|
||||||
)
|
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
package com.example.rehabilitation.Room.dbUser.dbDoctor
|
|
||||||
|
|
||||||
import androidx.room.Dao
|
|
||||||
import androidx.room.Insert
|
|
||||||
import androidx.room.Query
|
|
||||||
import androidx.room.Update
|
|
||||||
import com.example.rehabilitation.Room.dbUser.dbPatient.ItemPatient
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
|
||||||
|
|
||||||
|
|
||||||
@Dao
|
|
||||||
interface DaoDoctor {
|
|
||||||
//Таблица определенного дня
|
|
||||||
@Insert
|
|
||||||
fun insertItemDoctor(itemDoctor:ItemDoctor)
|
|
||||||
|
|
||||||
//Список врачей
|
|
||||||
@Query("SELECT * FROM Doctor ORDER BY id ASC")
|
|
||||||
fun getAllItemDoctor(): Flow<List<ItemDoctor>>
|
|
||||||
|
|
||||||
//Список врачей
|
|
||||||
@Query("SELECT * FROM Doctor WHERE login")
|
|
||||||
fun getItemDoctor(): Flow<List<ItemDoctor>>
|
|
||||||
|
|
||||||
//Опредеоение авторизованного врача
|
|
||||||
@Query("SELECT * FROM Doctor WHERE login = :login AND password = :password")
|
|
||||||
fun getAuthItemDoctor(login:String, password:String): Flow<List<ItemDoctor>>
|
|
||||||
|
|
||||||
//Опредеоение авторизованного пациента
|
|
||||||
@Query("SELECT * FROM Doctor WHERE login = :login")
|
|
||||||
fun getAuthItemDoctorOutput(login:String): Flow<List<ItemDoctor>>
|
|
||||||
|
|
||||||
//Список определенного дня
|
|
||||||
// @Query("SELECT * FROM Doctor WHERE day = :day")
|
|
||||||
// fun getAllItemDaySport(day:String): Flow<List<ItemDoctor>>
|
|
||||||
|
|
||||||
|
|
||||||
//Обновление что выполнил упражнение
|
|
||||||
@Query("UPDATE Doctor SET name = :name, surname = :surname, patronymic= :patronymic,login=:login,password=:password WHERE login =:loginOld")
|
|
||||||
fun updateDoctor(loginOld:String, name:String,surname:String,patronymic:String,login:String,password: String)
|
|
||||||
|
|
||||||
|
|
||||||
//Обновление что выполнил упражнение
|
|
||||||
// @Query("UPDATE Doctor SET `check` = 1 WHERE id = :id")
|
|
||||||
// fun updateDoctor(id:Int)
|
|
||||||
|
|
||||||
//Очистка таблицы
|
|
||||||
// @Query("DELETE FROM Doctor")
|
|
||||||
// fun deleteItemDaySport()
|
|
||||||
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue