diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/AlarmAdapter.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/AlarmAdapter.kt deleted file mode 100644 index 4cb579f5..00000000 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/AlarmAdapter.kt +++ /dev/null @@ -1,57 +0,0 @@ -package com.dongyang.android.youdongknowme.ui.adapter - -import android.annotation.SuppressLint -import android.view.LayoutInflater -import android.view.ViewGroup -import androidx.recyclerview.widget.RecyclerView -import com.dongyang.android.youdongknowme.data.local.entity.AlarmEntity -import com.dongyang.android.youdongknowme.databinding.ItemAlarmBinding -import com.dongyang.android.youdongknowme.ui.view.alarm.AlarmClickListener - -class AlarmAdapter : RecyclerView.Adapter() { - - private val item = ArrayList() - private var itemClickListener: AlarmClickListener? = null - - init { - setHasStableIds(true) - } - - inner class ViewHolder(private val binding: ItemAlarmBinding) : - RecyclerView.ViewHolder(binding.root) { - fun bind(item: AlarmEntity) { - binding.alarm = item - binding.itemClickListener = itemClickListener - } - } - - @SuppressLint("NotifyDataSetChanged") - fun submitList(item: List) { - this.item.clear() - this.item.addAll(item) - notifyDataSetChanged() - } - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { - return ViewHolder( - ItemAlarmBinding.inflate( - LayoutInflater.from(parent.context), parent, false - ) - ) - } - - override fun onBindViewHolder(holder: ViewHolder, position: Int) { - holder.bind(item[position]) - } - - override fun getItemId(position: Int): Long { - val id = item[position].id ?: 0 - return id.toLong() - } - - override fun getItemCount(): Int = item.size - - fun setItemClickListener(listener: AlarmClickListener) { - itemClickListener = listener - } -} \ No newline at end of file diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/alarm/AlarmActivity.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/alarm/AlarmActivity.kt index aa58ce15..34ee3954 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/alarm/AlarmActivity.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/alarm/AlarmActivity.kt @@ -1,13 +1,12 @@ package com.dongyang.android.youdongknowme.ui.view.alarm import android.content.Intent -import androidx.recyclerview.widget.LinearLayoutManager +import android.view.View import com.dongyang.android.youdongknowme.R import com.dongyang.android.youdongknowme.data.local.entity.AlarmEntity import com.dongyang.android.youdongknowme.databinding.ActivityAlarmBinding import com.dongyang.android.youdongknowme.standard.base.BaseActivity import com.dongyang.android.youdongknowme.standard.util.mapDepartmentKoreanToCode -import com.dongyang.android.youdongknowme.ui.adapter.AlarmAdapter import com.dongyang.android.youdongknowme.ui.view.detail.DetailActivity import org.koin.androidx.viewmodel.ext.android.viewModel @@ -15,28 +14,26 @@ class AlarmActivity : BaseActivity(), Alar override val layoutResourceId: Int = R.layout.activity_alarm override val viewModel: AlarmViewModel by viewModel() - private lateinit var adapter : AlarmAdapter - override fun initStartView() { - adapter = AlarmAdapter().apply { setItemClickListener(this@AlarmActivity) } binding.vm = viewModel - binding.alarmRcv.apply { - this.adapter = this@AlarmActivity.adapter - this.layoutManager = LinearLayoutManager(this@AlarmActivity) - this.setHasFixedSize(true) - } + setupToolbar() } - override fun initDataBinding() { - viewModel.alarmList.observe(this) { - adapter.submitList(it) + private fun setupToolbar() { + binding.alarmToolbar.apply { + tvToolbarTitle.text = getString(R.string.alarm_title) + btnToolbarExit.visibility = View.VISIBLE + tvToolbarActionButton.text = getString(R.string.alarm_action_button_text) + tvToolbarActionButton.visibility = View.VISIBLE } } + override fun initDataBinding() = Unit + override fun initAfterBinding() { viewModel.getAlarms() - binding.alarmToolbar.toolbarExit.setOnClickListener { + binding.alarmToolbar.btnToolbarExit.setOnClickListener { finish() } } diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/depart/DepartActivity.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/depart/DepartActivity.kt index 10fadcad..944e2a81 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/depart/DepartActivity.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/depart/DepartActivity.kt @@ -3,14 +3,9 @@ package com.dongyang.android.youdongknowme.ui.view.depart import android.content.Intent import android.graphics.Typeface import android.os.Bundle -import android.text.Spannable -import android.text.SpannableStringBuilder -import android.text.style.ForegroundColorSpan -import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.appcompat.app.AppCompatActivity -import androidx.core.text.set import androidx.core.view.updateLayoutParams import androidx.recyclerview.widget.LinearLayoutManager import com.dongyang.android.youdongknowme.R @@ -40,8 +35,8 @@ class DepartActivity : AppCompatActivity(), DepartClickListener { viewModel.checkFirstLaunch() // 부분 색상 지정 - setSpanText(baseContext, binding.tvDepartTitleMain,startIdx = 0, endIdx = 5) - + setSpanText(baseContext, binding.tvDepartTitleMain, startIdx = 0, endIdx = 5) + // 학과 리스트 val items = resources.getStringArray(R.array.dmu_department_list).toCollection(ArrayList()) @@ -75,10 +70,14 @@ class DepartActivity : AppCompatActivity(), DepartClickListener { // 확인 버튼을 누르면 내부 DB에 학과를 담고 메인 액티비티로 이동 private fun getSnackBar(items: ArrayList): Snackbar { val snackbar = - Snackbar.make(binding.coordinatorDepart, getString(R.string.department_snackbar_title), LENGTH_LONG) + Snackbar.make( + binding.coordinatorDepart, + getString(R.string.department_snackbar_title), + LENGTH_LONG + ) .setAction(getString(R.string.department_snackbar_positive_button)) { viewModel.setDepartment(items[viewModel.selectDepartPosition.value ?: 0]) - if(viewModel.isFirstLaunch.value == true) { + if (viewModel.isFirstLaunch.value == true) { val intent = Intent(this, KeywordActivity::class.java) startActivity(intent) finish() @@ -108,7 +107,8 @@ class DepartActivity : AppCompatActivity(), DepartClickListener { val snackBarView = snackbar.view - val snackBarText = snackBarView.findViewById(com.google.android.material.R.id.snackbar_text) + val snackBarText = + snackBarView.findViewById(com.google.android.material.R.id.snackbar_text) snackBarText.typeface = Typeface.createFromAsset(this.assets, "pretendard_regular.otf") snackbar.animationMode = BaseTransientBottomBar.ANIMATION_MODE_SLIDE diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailActivity.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailActivity.kt index e5132bc9..2b0e6d55 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailActivity.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailActivity.kt @@ -16,7 +16,6 @@ import android.provider.Settings import android.widget.Toast import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat -import androidx.recyclerview.widget.LinearLayoutManager import com.dongyang.android.youdongknowme.R import com.dongyang.android.youdongknowme.databinding.ActivityDetailBinding import com.dongyang.android.youdongknowme.standard.base.BaseActivity @@ -50,7 +49,7 @@ class DetailActivity : BaseActivity(), D } override fun initDataBinding() { - binding.vm = viewModel + binding.viewModel = viewModel viewModel.isLoading.observe(this) { if (it) showLoading() @@ -76,7 +75,7 @@ class DetailActivity : BaseActivity(), D viewModel.fetchNoticeDetail() // 뒤로가기 버튼 클릭 시 - binding.detailToolbar.toolbarExit.setOnClickListener { + binding.detailToolbar.btnToolbarExit.setOnClickListener { finish() } @@ -99,7 +98,10 @@ class DetailActivity : BaseActivity(), D if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { when { // 사용자가 권한 부여를 완료한 경우 - ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED + ContextCompat.checkSelfPermission( + this, + Manifest.permission.WRITE_EXTERNAL_STORAGE + ) == PackageManager.PERMISSION_GRANTED -> { setDownloadManager(fileName, fileUri) } @@ -111,7 +113,11 @@ class DetailActivity : BaseActivity(), D // 사용자에게 최초로 권한을 요청하는 경우 else -> { - ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 100) + ActivityCompat.requestPermissions( + this, + arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), + 100 + ) } } } @@ -156,7 +162,7 @@ class DetailActivity : BaseActivity(), D if (cursor.moveToFirst()) { val columnIndex = cursor.getColumnIndex(DownloadManager.COLUMN_STATUS) val status = cursor.getInt(columnIndex) - when(status) { + when (status) { DownloadManager.STATUS_FAILED -> { Toast.makeText( context, @@ -164,6 +170,7 @@ class DetailActivity : BaseActivity(), D Toast.LENGTH_SHORT ).show() } + DownloadManager.STATUS_SUCCESSFUL -> { Toast.makeText( context, diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/license/LicenseActivity.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/license/LicenseActivity.kt index 75203580..6f0be869 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/license/LicenseActivity.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/license/LicenseActivity.kt @@ -33,7 +33,7 @@ class LicenseActivity : BaseActivity() override fun initAfterBinding() { adapter.submitList(OpenSourceEntity.openSourceList) - binding.licenseToolbar.toolbarExit.setOnClickListener { finish() } + binding.licenseToolbar.btnToolbarExit.setOnClickListener { finish() } } override fun itemClick(openSourceEntity: OpenSourceEntity) { diff --git a/app/src/main/res/drawable-xxxhdpi/ic_arrow_right.xml b/app/src/main/res/drawable-xxxhdpi/ic_arrow_right.xml deleted file mode 100644 index 6e5daf33..00000000 --- a/app/src/main/res/drawable-xxxhdpi/ic_arrow_right.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/bg_stroke_gray300_radius_10dp.xml b/app/src/main/res/drawable/bg_stroke_gray300_radius_10dp.xml new file mode 100644 index 00000000..39ee9efa --- /dev/null +++ b/app/src/main/res/drawable/bg_stroke_gray300_radius_10dp.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_arrow_right.xml b/app/src/main/res/drawable/ic_arrow_right.xml new file mode 100644 index 00000000..85f87fa0 --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_right.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_back.xml b/app/src/main/res/drawable/ic_back.xml index 2ee444ca..f68ec14d 100644 --- a/app/src/main/res/drawable/ic_back.xml +++ b/app/src/main/res/drawable/ic_back.xml @@ -1,10 +1,10 @@ + android:width="32dp" + android:height="32dp" + android:viewportWidth="32" + android:viewportHeight="32"> diff --git a/app/src/main/res/layout/activity_alarm.xml b/app/src/main/res/layout/activity_alarm.xml index 38252ed3..42375985 100644 --- a/app/src/main/res/layout/activity_alarm.xml +++ b/app/src/main/res/layout/activity_alarm.xml @@ -11,15 +11,14 @@ android:id="@+id/alarm_toolbar" layout="@layout/standard_toolbar" android:layout_width="match_parent" - android:layout_height="?android:attr/actionBarSize" - app:exitVisible="@{true}" - app:title="@{@string/alarm_title}" /> + android:layout_height="?android:attr/actionBarSize" /> diff --git a/app/src/main/res/layout/activity_detail.xml b/app/src/main/res/layout/activity_detail.xml index a52e49b9..81ae2db0 100644 --- a/app/src/main/res/layout/activity_detail.xml +++ b/app/src/main/res/layout/activity_detail.xml @@ -20,8 +20,8 @@ app:title="@{@string/detail_title}" /> \ No newline at end of file diff --git a/app/src/main/res/layout/item_alarm.xml b/app/src/main/res/layout/item_alarm.xml index 6f7a24fa..5c9ff925 100644 --- a/app/src/main/res/layout/item_alarm.xml +++ b/app/src/main/res/layout/item_alarm.xml @@ -1,105 +1,73 @@ - + + android:layout_height="wrap_content" + android:layout_marginTop="8dp" + android:background="@drawable/bg_stroke_gray300_radius_10dp" + android:paddingVertical="20dp"> - - - - - - - + app:layout_constraintTop_toTopOf="parent" + tools:hint="[컴소] 2022학년도 1학기 기말고사 시간표 안내 (06/02)" /> - + - + - + - - + - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/standard_toolbar.xml b/app/src/main/res/layout/standard_toolbar.xml index cfdb7a98..3496d144 100644 --- a/app/src/main/res/layout/standard_toolbar.xml +++ b/app/src/main/res/layout/standard_toolbar.xml @@ -1,18 +1,22 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> + app:layout_constraintTop_toTopOf="@+id/btn_toolbar_exit" /> + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a9243429..a592a4ba 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -103,7 +103,8 @@ 처리중 - 알림함 + 키워드 알림함 + 편집 식단