diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/setting/SettingFragment.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/setting/SettingFragment.kt index 81095467..616dbcd4 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/setting/SettingFragment.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/setting/SettingFragment.kt @@ -1,6 +1,7 @@ package com.dongyang.android.youdongknowme.ui.view.setting import android.content.Intent +import android.net.Uri import com.dongyang.android.youdongknowme.R import com.dongyang.android.youdongknowme.databinding.FragmentSettingBinding import com.dongyang.android.youdongknowme.standard.base.BaseFragment @@ -16,18 +17,28 @@ class SettingFragment : BaseFragment() override val viewModel: SettingViewModel by viewModel() override fun initStartView() { - binding.settingVersion.text = getAppVersion() + binding.tvSettingAppVersion.text = getAppVersion() } - override fun initDataBinding() { } + override fun initDataBinding() { + viewModel.myDepartment.observe(viewLifecycleOwner) { department -> + binding.tvSettingDepartment.text = department + } - override fun initAfterBinding() { - binding.vm = viewModel + viewModel.isAccessUniversityAlarm.observe(viewLifecycleOwner) { isChecked -> + binding.switchSettingUniversityAlarm.isChecked = isChecked + } + viewModel.isAccessDepartAlarm.observe(viewLifecycleOwner) { isChecked -> + binding.switchSettingDepartmentAlarm.isChecked = isChecked + } + } + + override fun initAfterBinding() { viewModel.checkAccessAlarm() viewModel.getUserDepartment() - binding.settingSchoolAlarmSwitch.setOnCheckedChangeListener { compoundButton, _ -> + binding.switchSettingUniversityAlarm.setOnCheckedChangeListener { compoundButton, _ -> if (compoundButton.isChecked) { viewModel.setIsAccessSchoolAlarm(true) } else { @@ -35,7 +46,7 @@ class SettingFragment : BaseFragment() } } - binding.settingDepartmentAlarmSwitch.setOnCheckedChangeListener { compoundButton, _ -> + binding.switchSettingDepartmentAlarm.setOnCheckedChangeListener { compoundButton, _ -> if (compoundButton.isChecked) { viewModel.setIsAccessDepartAlarm(true) } else { @@ -43,26 +54,34 @@ class SettingFragment : BaseFragment() } } - // 이메일 연동 - binding.settingAsk.setOnClickListener { - val intent = Intent(Intent.ACTION_SEND) - intent.type = "plain/text" - val address = arrayOf("jiwon0705@m365.dongyang.ac.kr") - intent.putExtra(Intent.EXTRA_EMAIL, address) + binding.btnSettingEditKeyword.setOnClickListener { + val intent = Intent(requireActivity(), KeywordActivity::class.java) startActivity(intent) } - binding.settingDepartmentChoice.setOnClickListener { + binding.btnSettingEditDepartment.setOnClickListener { val intent = Intent(requireActivity(), DepartActivity::class.java) startActivity(intent) } - binding.settingKeyword.setOnClickListener { - val intent = Intent(requireActivity(), KeywordActivity::class.java) + binding.btnSettingAppHelp.setOnClickListener { + val intent = + Intent( + Intent.ACTION_VIEW, + Uri.parse("https://docs.google.com/forms/d/e/1FAIpQLSeRTKalenelmffTbCZeK4mqmQg0palobghkXSoie1FlmV22ZQ/viewform") + ) + startActivity(intent) + } + + binding.btnSettingAppPersonalPolicy.setOnClickListener { + val intent = Intent( + Intent.ACTION_VIEW, + Uri.parse("https://sites.google.com/view/dmforu-privacy-policy/%ED%99%88") + ) startActivity(intent) } - binding.settingAppLicense.setOnClickListener { + binding.btnSettingAppOpensource.setOnClickListener { val intent = Intent(requireActivity(), LicenseActivity::class.java) startActivity(intent) } @@ -73,5 +92,4 @@ class SettingFragment : BaseFragment() requireContext().packageManager.getPackageInfo(requireContext().packageName, 0) return packageManager.versionName } - } \ No newline at end of file diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/setting/SettingViewModel.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/setting/SettingViewModel.kt index 1895cb2d..28c401e2 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/setting/SettingViewModel.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/setting/SettingViewModel.kt @@ -8,8 +8,8 @@ import com.dongyang.android.youdongknowme.standard.base.BaseViewModel /* 설정 뷰모델 */ class SettingViewModel(private val settingRepository: SettingRepository) : BaseViewModel() { - private val _isAccessSchoolAlarm: MutableLiveData = MutableLiveData(false) - val isAccessSchoolAlarm: LiveData get() = _isAccessSchoolAlarm + private val _isAccessUniversityAlarm: MutableLiveData = MutableLiveData(false) + val isAccessUniversityAlarm: LiveData get() = _isAccessUniversityAlarm private val _isAccessDepartAlarm: MutableLiveData = MutableLiveData(false) val isAccessDepartAlarm: LiveData get() = _isAccessDepartAlarm @@ -19,7 +19,7 @@ class SettingViewModel(private val settingRepository: SettingRepository) : BaseV fun checkAccessAlarm() { val isAccessSchoolAlarm = settingRepository.getIsAccessSchoolAlarm() - _isAccessSchoolAlarm.postValue(isAccessSchoolAlarm) + _isAccessUniversityAlarm.postValue(isAccessSchoolAlarm) val isAccessDepartAlarm = settingRepository.getIsAccessDepartAlarm() _isAccessDepartAlarm.postValue(isAccessDepartAlarm) diff --git a/app/src/main/res/drawable/ic_setting_right.xml b/app/src/main/res/drawable/ic_setting_right.xml new file mode 100644 index 00000000..9d33d781 --- /dev/null +++ b/app/src/main/res/drawable/ic_setting_right.xml @@ -0,0 +1,15 @@ + + + + diff --git a/app/src/main/res/layout/fragment_setting.xml b/app/src/main/res/layout/fragment_setting.xml index cca01404..32e29f7c 100644 --- a/app/src/main/res/layout/fragment_setting.xml +++ b/app/src/main/res/layout/fragment_setting.xml @@ -1,6 +1,7 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> - + android:layout_height="wrap_content"> + android:layout_marginStart="20dp" + android:layout_marginTop="20dp" + android:paddingBottom="4dp" + android:text="@string/setting_university" + android:textColor="@color/blue300" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + android:padding="20dp" + android:text="@string/setting_notice" + android:textColor="@color/gray500" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/tv_setting_university_title" + tools:ignore="RtlSymmetry" /> + + + android:background="@color/gray200" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/btn_setting_edit_keyword" /> + android:layout_marginStart="20dp" + android:layout_marginTop="20dp" + android:paddingBottom="4dp" + android:text="@string/setting_department" + android:textColor="@color/blue300" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/view_setting_divider_university" /> - - + + - - + android:foreground="?attr/selectableItemBackground" + android:padding="20dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/switch_setting_department_alarm"> - - - + + + - + android:src="@drawable/ic_setting_right" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + android:background="@color/gray200" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/btn_setting_edit_department" /> + android:textColor="@color/blue300" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/view_setting_divider_department" /> - - - - + android:foreground="?attr/selectableItemBackground" + android:padding="20dp" + android:text="@string/setting_app_help" + android:textColor="@color/gray500" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/tv_setting_info_title" /> - + android:foreground="?attr/selectableItemBackground" + android:padding="20dp" + android:text="@string/setting_app_personal_policy" + android:textColor="@color/gray500" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/btn_setting_app_help" /> - + - - - - + android:padding="20dp" + android:text="@string/setting_app_version" + android:textColor="@color/gray500" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/btn_setting_app_opensource" /> - - + - + + - - - - - \ No newline at end of file diff --git a/app/src/main/res/values/fonts.xml b/app/src/main/res/values/fonts.xml index e8bdc5ad..d0977463 100644 --- a/app/src/main/res/values/fonts.xml +++ b/app/src/main/res/values/fonts.xml @@ -85,6 +85,10 @@ @dimen/font_size_14 + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c33ef388..a467800b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -44,17 +44,19 @@ 설정 - 동양미래대학교 + 대학 공지 알림 설정 컴퓨터소프트웨어공학과 - 학과 설정 + 학과 공지 + 학과 설정 키워드 - 키워드 알림 설정 + 키워드 설정 키워드 선택 앱 정보 문의하기 + 개인정보 처리방침 앱 버전 - 오픈소스 라이센스 + 오픈소스 라이선스