From c0106287700cd1ff7dedac226e936ac7f6ef5420 Mon Sep 17 00:00:00 2001 From: Son Myeongji Date: Fri, 23 Feb 2024 22:17:41 +0900 Subject: [PATCH 1/9] =?UTF-8?q?style=20:=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20=EC=BD=94=EB=93=9C=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/remote/entity/Notice.kt | 24 --- .../youdongknowme/ui/adapter/FileAdapter.kt | 1 - .../ui/view/detail/DetailActivity.kt | 189 +----------------- .../ui/view/detail/DetailClickListener.kt | 5 - .../ui/view/detail/DetailViewModel.kt | 55 ----- 5 files changed, 4 insertions(+), 270 deletions(-) delete mode 100644 app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailClickListener.kt diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/data/remote/entity/Notice.kt b/app/src/main/java/com/dongyang/android/youdongknowme/data/remote/entity/Notice.kt index a8614dc6..9513bb76 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/data/remote/entity/Notice.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/data/remote/entity/Notice.kt @@ -11,28 +11,4 @@ data class Notice( val date: String, @SerializedName("url") val url: String, -) - -data class NoticeDetail( - @SerializedName("num") - var num: Int, - @SerializedName("title") - var title: String, - @SerializedName("writer") - var writer: String, - @SerializedName("date") - var date: String, - @SerializedName("content") - var content: String, - @SerializedName("img_url") - var imgUrl : List, - @SerializedName("file_url") - var fileUrl : List - ) - -data class NoticeFileUrl( - @SerializedName("url") - var url: String, - @SerializedName("name") - var name: String ) \ No newline at end of file diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/FileAdapter.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/FileAdapter.kt index cdb31178..85c60cee 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/FileAdapter.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/FileAdapter.kt @@ -6,7 +6,6 @@ import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.dongyang.android.youdongknowme.data.remote.entity.NoticeFileUrl import com.dongyang.android.youdongknowme.databinding.ItemFileBinding -import com.dongyang.android.youdongknowme.ui.view.detail.DetailClickListener class FileAdapter : RecyclerView.Adapter() { 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 2b0e6d55..f73c5e4b 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 @@ -1,56 +1,20 @@ package com.dongyang.android.youdongknowme.ui.view.detail -import android.Manifest -import android.app.AlertDialog -import android.app.DownloadManager -import android.app.DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED -import android.content.BroadcastReceiver -import android.content.Context -import android.content.Intent -import android.content.IntentFilter -import android.content.pm.PackageManager -import android.net.Uri -import android.os.Build -import android.os.Environment -import android.provider.Settings -import android.widget.Toast -import androidx.core.app.ActivityCompat -import androidx.core.content.ContextCompat import com.dongyang.android.youdongknowme.R -import com.dongyang.android.youdongknowme.databinding.ActivityDetailBinding +import com.dongyang.android.youdongknowme.databinding.ActivityDepartBinding import com.dongyang.android.youdongknowme.standard.base.BaseActivity -import com.dongyang.android.youdongknowme.ui.adapter.FileAdapter -import com.dongyang.android.youdongknowme.ui.adapter.ImageAdapter import com.dongyang.android.youdongknowme.ui.view.util.EventObserver import org.koin.androidx.viewmodel.ext.android.viewModel -import java.io.File /* 공지사항 글 상세 화면 */ -class DetailActivity : BaseActivity(), DetailClickListener { +class DetailActivity : BaseActivity() { override val layoutResourceId: Int = R.layout.activity_detail override val viewModel: DetailViewModel by viewModel() - private lateinit var fileAdapter: FileAdapter - private lateinit var imageAdapter: ImageAdapter - - private val departCode: Int by lazy { intent.getIntExtra("departCode", 0) } - private val boardNum: Int by lazy { intent.getIntExtra("boardNum", 0) } - - private val mDownloadManager: DownloadManager by lazy { - this.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager - } - private var mDownloadQueueId: Long = 0 - - override fun initStartView() { - viewModel.setNoticeDetailInfo(departCode, boardNum) - - fileAdapter = FileAdapter().apply { setItemClickListener(this@DetailActivity) } - } + override fun initStartView() = Unit override fun initDataBinding() { - binding.viewModel = viewModel - viewModel.isLoading.observe(this) { if (it) showLoading() else dismissLoading() @@ -59,152 +23,7 @@ class DetailActivity : BaseActivity(), D viewModel.errorState.observe(this, EventObserver { resId -> showToast(getString(resId)) }) - - viewModel.fileUrl.observe(this) { - if (it.isNotEmpty()) - fileAdapter.submitList(it) - } - - viewModel.imgUrl.observe(this) { - if (it.isNotEmpty()) - imageAdapter.submitList(it) - } - } - - override fun initAfterBinding() { - viewModel.fetchNoticeDetail() - - // 뒤로가기 버튼 클릭 시 - binding.detailToolbar.btnToolbarExit.setOnClickListener { - finish() - } - - binding.detailErrorContainer.refresh.setOnClickListener { - viewModel.fetchNoticeDetail() - } - } - - // 파일 클릭했을 때 동작 - override fun fileClick(fileName: String, fileUri: String) { - openDownloadListener(fileName, fileUri) - } - - override fun onDestroy() { - super.onDestroy() - mDownloadManager.remove(mDownloadQueueId) - } - - private fun openDownloadListener(fileName: String, fileUri: String) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - when { - // 사용자가 권한 부여를 완료한 경우 - ContextCompat.checkSelfPermission( - this, - Manifest.permission.WRITE_EXTERNAL_STORAGE - ) == PackageManager.PERMISSION_GRANTED - -> { - setDownloadManager(fileName, fileUri) - } - // 사용자가 명시적으로 권한 부여를 거부한 경우 - shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE) - -> { - showDialogToGetPermission() - } - // 사용자에게 최초로 권한을 요청하는 경우 - else - -> { - ActivityCompat.requestPermissions( - this, - arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), - 100 - ) - } - } - } - } - - private fun setDownloadManager(fileName: String, fileUri: String) { - val filePath = - Environment.getExternalStoragePublicDirectory( - Environment.DIRECTORY_DOWNLOADS + - "/${getString(R.string.app_name)}" + "/$fileName" - ) - - val outputFile: File = filePath - if (outputFile.parentFile?.exists() == false) { - outputFile.parentFile?.mkdirs() - } - - val fileUrl = Uri.parse(fileUri) - val request = DownloadManager.Request(fileUrl) - .setTitle(fileName) - .setDescription("${R.string.detail_download_description}") - .setDestinationUri(Uri.fromFile(filePath)) - .setNotificationVisibility(VISIBILITY_VISIBLE_NOTIFY_COMPLETED) - .setAllowedOverMetered(true) - .setAllowedOverRoaming(true) - - mDownloadQueueId = mDownloadManager.enqueue(request) - - // 예외처리 - val intentFilter = IntentFilter() - intentFilter.addAction(DownloadManager.ACTION_DOWNLOAD_COMPLETE) - - val onDownloadComplete = object : BroadcastReceiver() { - override fun onReceive(context: Context, intent: Intent) { - val id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1) - - if (DownloadManager.ACTION_DOWNLOAD_COMPLETE == intent.action) { - if (mDownloadQueueId == id) { - val query: DownloadManager.Query = DownloadManager.Query() - query.setFilterById(id) - val cursor = mDownloadManager.query(query) - if (cursor.moveToFirst()) { - val columnIndex = cursor.getColumnIndex(DownloadManager.COLUMN_STATUS) - val status = cursor.getInt(columnIndex) - when (status) { - DownloadManager.STATUS_FAILED -> { - Toast.makeText( - context, - getString(R.string.detail_download_fail), - Toast.LENGTH_SHORT - ).show() - } - - DownloadManager.STATUS_SUCCESSFUL -> { - Toast.makeText( - context, - getString(R.string.detail_download_success), - Toast.LENGTH_SHORT - ).show() - } - } - } - } - } - } - } - - registerReceiver(onDownloadComplete, intentFilter) } - private fun showDialogToGetPermission() { - val builder = AlertDialog.Builder(this) - builder.setTitle(getString(R.string.detail_write_permission_dialog_title)) - .setMessage(getString(R.string.detail_write_permission_dialog_message)) - - builder.setPositiveButton(getString(R.string.detail_write_permission_dialog_ok)) { _, _ -> - val intent = Intent( - Settings.ACTION_APPLICATION_DETAILS_SETTINGS, - Uri.fromParts("package", "com.dongyang.android.youdongknowme", null) - ) - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) - startActivity(intent) - } - builder.setNegativeButton(getString(R.string.detail_write_permission_dialog_no)) { _, _ -> - // 거부 - } - val dialog = builder.create() - dialog.show() - } + override fun initAfterBinding() = Unit } \ No newline at end of file diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailClickListener.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailClickListener.kt deleted file mode 100644 index e4ebd07d..00000000 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailClickListener.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.dongyang.android.youdongknowme.ui.view.detail - -interface DetailClickListener { - fun fileClick(fileName: String, fileUri: String) -} \ No newline at end of file diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailViewModel.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailViewModel.kt index 081a69be..fa9ff30e 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailViewModel.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailViewModel.kt @@ -2,13 +2,9 @@ package com.dongyang.android.youdongknowme.ui.view.detail import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.viewModelScope -import com.dongyang.android.youdongknowme.data.remote.entity.NoticeFileUrl import com.dongyang.android.youdongknowme.data.repository.DetailRepository import com.dongyang.android.youdongknowme.standard.base.BaseViewModel -import com.dongyang.android.youdongknowme.standard.network.NetworkResult import com.dongyang.android.youdongknowme.ui.view.util.Event -import kotlinx.coroutines.launch class DetailViewModel(private val detailRepository: DetailRepository) : BaseViewModel() { @@ -21,57 +17,6 @@ class DetailViewModel(private val detailRepository: DetailRepository) : BaseView private val _isLoading: MutableLiveData = MutableLiveData() val isLoading: LiveData get() = _isLoading - private val _num: MutableLiveData = MutableLiveData() - private val _code: MutableLiveData = MutableLiveData() - - private val _title: MutableLiveData = MutableLiveData() - val title: LiveData get() = _title - private val _writer: MutableLiveData = MutableLiveData() - val writer: LiveData get() = _writer - private val _date: MutableLiveData = MutableLiveData() - val date: LiveData get() = _date - private val _content: MutableLiveData = MutableLiveData() - val content: LiveData get() = _content - private val _imgUrl: MutableLiveData> = MutableLiveData() - val imgUrl: LiveData> get() = _imgUrl - private val _fileUrl: MutableLiveData> = MutableLiveData() - val fileUrl: LiveData> get() = _fileUrl - - // 학과 코드, 게시글 번호 저장 - fun setNoticeDetailInfo(code: Int, num: Int) { - _code.value = code - _num.value = num - } - - // 공지사항 리스트 호출 - fun fetchNoticeDetail() { - _isLoading.postValue(true) - - val departCode = _code.value ?: DEFAULT_VALUE - val boardNum = _num.value ?: DEFAULT_VALUE - - viewModelScope.launch { - when (val result = detailRepository.fetchNoticeDetail(departCode, boardNum)) { - is NetworkResult.Success -> { - val noticeDetail = result.data - _title.postValue(noticeDetail.title) - _writer.postValue(noticeDetail.writer) - _date.postValue(noticeDetail.date) - _content.postValue(noticeDetail.content) - _imgUrl.postValue(noticeDetail.imgUrl) - _fileUrl.postValue(noticeDetail.fileUrl) - _isError.postValue(false) - _isLoading.postValue(false) - } - is NetworkResult.Error -> { - handleError(result, _errorState) - _isError.postValue(true) - _isLoading.postValue(false) - } - } - } - } - companion object { private const val DEFAULT_VALUE = 0 } From 978c567b5262b4de1df99c5e09a1e81b7093cec5 Mon Sep 17 00:00:00 2001 From: Son Myeongji Date: Fri, 23 Feb 2024 22:17:51 +0900 Subject: [PATCH 2/9] =?UTF-8?q?Design=20:=20=EC=9B=B9=20=EB=B7=B0=EB=A1=9C?= =?UTF-8?q?=20xml=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/activity_detail.xml | 209 ++------------------ 1 file changed, 12 insertions(+), 197 deletions(-) diff --git a/app/src/main/res/layout/activity_detail.xml b/app/src/main/res/layout/activity_detail.xml index 81ae2db0..f02e267b 100644 --- a/app/src/main/res/layout/activity_detail.xml +++ b/app/src/main/res/layout/activity_detail.xml @@ -1,199 +1,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + android:layout_width="match_parent" + android:layout_height="match_parent"> + + + \ No newline at end of file From 657315f9c7346f52e2bdf026bc324f39736509f5 Mon Sep 17 00:00:00 2001 From: Son Myeongji Date: Fri, 23 Feb 2024 22:27:55 +0900 Subject: [PATCH 3/9] =?UTF-8?q?style=20:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=EC=BD=94=EB=93=9C=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/remote/service/DetailService.kt | 13 ----- .../data/repository/DetailRepository.kt | 22 -------- .../youdongknowme/standard/di/KoinModules.kt | 7 +-- .../youdongknowme/ui/adapter/FileAdapter.kt | 47 ----------------- .../youdongknowme/ui/adapter/ImageAdapter.kt | 47 ----------------- .../ui/view/detail/DetailViewModel.kt | 3 +- app/src/main/res/layout/item_file.xml | 52 ------------------- 7 files changed, 3 insertions(+), 188 deletions(-) delete mode 100644 app/src/main/java/com/dongyang/android/youdongknowme/data/remote/service/DetailService.kt delete mode 100644 app/src/main/java/com/dongyang/android/youdongknowme/data/repository/DetailRepository.kt delete mode 100644 app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/FileAdapter.kt delete mode 100644 app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/ImageAdapter.kt delete mode 100644 app/src/main/res/layout/item_file.xml diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/data/remote/service/DetailService.kt b/app/src/main/java/com/dongyang/android/youdongknowme/data/remote/service/DetailService.kt deleted file mode 100644 index d5c47874..00000000 --- a/app/src/main/java/com/dongyang/android/youdongknowme/data/remote/service/DetailService.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.dongyang.android.youdongknowme.data.remote.service - -import com.dongyang.android.youdongknowme.data.remote.entity.NoticeDetail -import retrofit2.http.GET -import retrofit2.http.Path - -interface DetailService { - @GET("/notice/{code}/{number}") - suspend fun getNoticeDetail( - @Path("code") code : Int, - @Path("number") number : Int - ) : NoticeDetail -} \ No newline at end of file diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/data/repository/DetailRepository.kt b/app/src/main/java/com/dongyang/android/youdongknowme/data/repository/DetailRepository.kt deleted file mode 100644 index 5fb7d448..00000000 --- a/app/src/main/java/com/dongyang/android/youdongknowme/data/repository/DetailRepository.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.dongyang.android.youdongknowme.data.repository - -import com.dongyang.android.youdongknowme.data.remote.entity.NoticeDetail -import com.dongyang.android.youdongknowme.data.remote.service.DetailService -import com.dongyang.android.youdongknowme.standard.network.ErrorResponseHandler -import com.dongyang.android.youdongknowme.standard.network.NetworkResult -import com.dongyang.android.youdongknowme.standard.network.RetrofitObject - -class DetailRepository( - private val errorResponseHandler: ErrorResponseHandler -) { - suspend fun fetchNoticeDetail(code: Int, num: Int): NetworkResult { - return try { - val response = RetrofitObject.getNetwork().create(DetailService::class.java) - .getNoticeDetail(code, num) - NetworkResult.Success(response) - } catch (exception: Exception) { - val error = errorResponseHandler.getError(exception) - NetworkResult.Error(error) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/standard/di/KoinModules.kt b/app/src/main/java/com/dongyang/android/youdongknowme/standard/di/KoinModules.kt index b8d4ab1b..46a61215 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/standard/di/KoinModules.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/standard/di/KoinModules.kt @@ -8,7 +8,6 @@ import com.dongyang.android.youdongknowme.data.local.entity.KeywordEntity import com.dongyang.android.youdongknowme.data.repository.AlarmRepository import com.dongyang.android.youdongknowme.data.repository.CafeteriaRepository import com.dongyang.android.youdongknowme.data.repository.DepartRepository -import com.dongyang.android.youdongknowme.data.repository.DetailRepository import com.dongyang.android.youdongknowme.data.repository.KeywordRepository import com.dongyang.android.youdongknowme.data.repository.NoticeRepository import com.dongyang.android.youdongknowme.data.repository.ScheduleRepository @@ -32,6 +31,7 @@ import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.launch import org.koin.android.ext.koin.androidContext import org.koin.androidx.viewmodel.dsl.viewModel +import org.koin.core.scope.get import org.koin.dsl.module val databaseModule = module { @@ -76,7 +76,7 @@ val viewModelModule = module { SettingViewModel(get()) } viewModel { - DetailViewModel(get()) + DetailViewModel() } viewModel { SplashViewModel(get()) @@ -105,9 +105,6 @@ val repositoryModule = module { single { NoticeRepository(get()) } - single { - DetailRepository(get()) - } single { SplashRepository() } diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/FileAdapter.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/FileAdapter.kt deleted file mode 100644 index 85c60cee..00000000 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/FileAdapter.kt +++ /dev/null @@ -1,47 +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.remote.entity.NoticeFileUrl -import com.dongyang.android.youdongknowme.databinding.ItemFileBinding - -class FileAdapter : RecyclerView.Adapter() { - - private var item = arrayListOf() - private var itemClickListener : DetailClickListener? = null - - inner class ViewHolder(private val binding: ItemFileBinding) : - RecyclerView.ViewHolder(binding.root) { - fun bind(item: NoticeFileUrl) { - binding.itemClickListener = itemClickListener - binding.file = item - } - } - - @SuppressLint("NotifyDataSetChanged") - fun submitList(item: List) { - this.item.clear() - this.item.addAll(item) - notifyDataSetChanged() - } - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { - return ViewHolder( - ItemFileBinding.inflate( - LayoutInflater.from(parent.context), parent, false - ) - ) - } - - override fun onBindViewHolder(holder: ViewHolder, position: Int) { - holder.bind(item[position]) - } - - override fun getItemCount(): Int = item.size - - fun setItemClickListener(listener : DetailClickListener) { - itemClickListener = listener - } -} \ No newline at end of file diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/ImageAdapter.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/ImageAdapter.kt deleted file mode 100644 index 24b76ffe..00000000 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/adapter/ImageAdapter.kt +++ /dev/null @@ -1,47 +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.bumptech.glide.Glide -import com.dongyang.android.youdongknowme.databinding.ItemImageBinding - -class ImageAdapter : RecyclerView.Adapter() { - - private var item = arrayListOf() - - inner class ViewHolder(private val binding: ItemImageBinding) - : RecyclerView.ViewHolder(binding.root) { - fun bind(item: String) { - - if(item.isNotEmpty()) { - Glide.with(binding.root.context) - .load(item) - .into(binding.itemDetailIv) - } - } - } - - @SuppressLint("NotifyDataSetChanged") - fun submitList(item : List) { - this.item.clear() - this.item.addAll(item) - notifyDataSetChanged() - } - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { - return ViewHolder( - ItemImageBinding.inflate( - LayoutInflater.from(parent.context), parent, false - ) - ) - } - - override fun onBindViewHolder(holder: ViewHolder, position: Int) { - holder.bind(item[position]) - } - - override fun getItemCount(): Int = item.size - -} \ No newline at end of file diff --git a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailViewModel.kt b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailViewModel.kt index fa9ff30e..b28a47c9 100644 --- a/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailViewModel.kt +++ b/app/src/main/java/com/dongyang/android/youdongknowme/ui/view/detail/DetailViewModel.kt @@ -2,11 +2,10 @@ package com.dongyang.android.youdongknowme.ui.view.detail import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData -import com.dongyang.android.youdongknowme.data.repository.DetailRepository import com.dongyang.android.youdongknowme.standard.base.BaseViewModel import com.dongyang.android.youdongknowme.ui.view.util.Event -class DetailViewModel(private val detailRepository: DetailRepository) : BaseViewModel() { +class DetailViewModel: BaseViewModel() { private val _errorState: MutableLiveData> = MutableLiveData() val errorState: LiveData> = _errorState diff --git a/app/src/main/res/layout/item_file.xml b/app/src/main/res/layout/item_file.xml deleted file mode 100644 index 32e6d795..00000000 --- a/app/src/main/res/layout/item_file.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - -