Skip to content

Commit

Permalink
Merge pull request #41 from libliboom/feature-style
Browse files Browse the repository at this point in the history
๋ฆฌ๋”” ์•ˆ๋“œ๋กœ์ด๋“œ ์ฝ”๋”ฉ ์Šคํƒ€์ผ ๋ฆฌ๋ทฐ(๋ทฐ์–ดํŒ€ PR ํ…œํ”Œ๋ฆฟ)
  • Loading branch information
libliboom committed Jun 9, 2020
2 parents 002ee96 + 1dff770 commit 1d01f4d
Show file tree
Hide file tree
Showing 22 changed files with 266 additions and 257 deletions.
4 changes: 2 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<application
android:name=".base.BaseApplication"
android:allowBackup="true"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
Expand All @@ -23,4 +23,4 @@
<activity android:name=".main.activity.SettingsActivity" />
</application>

</manifest>
</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,10 @@ import androidx.lifecycle.ViewModelProvider
import javax.inject.Inject
import javax.inject.Provider

class ViewModelProviderFactory : ViewModelProvider.NewInstanceFactory {

class ViewModelProviderFactory @Inject constructor(
private var viewModels: MutableMap<Class<out ViewModel>, Provider<ViewModel>>

@Inject
constructor(viewModels: MutableMap<Class<out ViewModel>, Provider<ViewModel>>) {
this.viewModels = viewModels
}
) :
ViewModelProvider.NewInstanceFactory() {

override fun <T : ViewModel?> create(kclass: Class<T>): T {
var viewModel = viewModels[kclass]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ object EPubFileStub {
const val ASSET_EXTRACTED_COVER_FILE_PATH_01 =
"$ASSET_COVER_PATH@public@vhost@g@gutenberg@html@files@1342@1342-h@images@cover.jpg"
const val ASSET_EXTRACTED_COVER_FILE_PATH_02 =
"$ASSET_COVER_PATH@@public@vhost@g@gutenberg@html@files@1400@1400-h@images@cover.jpg"
"$ASSET_COVER_PATH@public@vhost@g@gutenberg@html@files@1400@1400-h@images@cover.jpg"
const val ASSET_EXTRACTED_COVER_FILE_PATH_03 =
"$ASSET_COVER_PATH@@public@vhost@g@gutenberg@html@files@215@215-h@images@cover.jpg"
"$ASSET_COVER_PATH@public@vhost@g@gutenberg@html@files@215@215-h@images@cover.jpg"
const val ASSET_EXTRACTED_COVER_FILE_PATH_04 =
"$ASSET_COVER_PATH@@public@vhost@g@gutenberg@html@files@42108@42108-h@images@cover.jpg"
"$ASSET_COVER_PATH@public@vhost@g@gutenberg@html@files@42108@42108-h@images@cover.jpg"
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.os.Bundle
import com.github.libliboom.epubviewer.R
import com.github.libliboom.epubviewer.main.fragment.ContentsFragment
import com.github.libliboom.epubviewer.reader.activity.ReaderActivity
import java.util.ArrayList

class ContentsActivity : ReaderActivity() {

Expand All @@ -32,13 +33,13 @@ class ContentsActivity : ReaderActivity() {
fun newIntent(
context: Context,
cover: String,
chapters: ArrayList<String>,
srcs: ArrayList<String>
chapters: List<String>,
srcs: List<String>
): Intent {
val intent = Intent(context, ContentsActivity::class.java)
intent.putExtra(EXTRA_COVER, cover)
intent.putStringArrayListExtra(EXTRA_CHAPTERS, chapters)
intent.putStringArrayListExtra(EXTRA_SRCS, srcs)
intent.putStringArrayListExtra(EXTRA_CHAPTERS, chapters as ArrayList<String>?)
intent.putStringArrayListExtra(EXTRA_SRCS, srcs as ArrayList<String>?)
return intent
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import com.github.libliboom.epubviewer.R
import com.github.libliboom.epubviewer.base.BaseFragment
import com.github.libliboom.epubviewer.databinding.FragmentContentsBinding
import com.github.libliboom.epubviewer.main.recycler.adapter.ContentsAdapter
import io.reactivex.disposables.Disposable
import javax.inject.Inject

class ContentsFragment : BaseFragment() {
Expand All @@ -24,8 +25,9 @@ class ContentsFragment : BaseFragment() {
getBinding() as FragmentContentsBinding
}

private lateinit var contentsList: ArrayList<String>
private lateinit var srcs: ArrayList<String>
private lateinit var contentsList: List<String>
private lateinit var srcs: List<String>
private lateinit var disposableSubject: Disposable

override fun getLayoutId() = R.layout.fragment_contents

Expand All @@ -37,6 +39,13 @@ class ContentsFragment : BaseFragment() {
initRecyclerView()
}

override fun onDestroyView() {
if (disposableSubject.isDisposed.not()) {
disposableSubject.dispose()
}
super.onDestroyView()
}

private fun initCover() {
arguments?.getString(ARGS_COVER)?.let {
requestManager
Expand All @@ -48,12 +57,12 @@ class ContentsFragment : BaseFragment() {
private fun initAdapter() {
arguments?.run {
val cover = getString(ARGS_COVER) ?: ""
contentsList = getStringArrayList(ARGS_CHAPTERS_LIST) ?: ArrayList()
srcs = getStringArrayList(ARGS_SRC_LIST) ?: ArrayList()
contentsList = getStringArray(ARGS_CHAPTERS_LIST)?.toList() as List<String>
srcs = getStringArray(ARGS_SRC_LIST)?.toList() as List<String>
contentsAdapter.init(cover, contentsList, srcs)
}

contentsAdapter.getPublishSubject().subscribe {
disposableSubject = contentsAdapter.getPublishSubject().subscribe {
val intent = Intent()
intent.putExtra(EXTRA_INDEX_OF_CHAPTER, it)
sendResult(intent)
Expand Down Expand Up @@ -82,13 +91,13 @@ class ContentsFragment : BaseFragment() {

fun newInstance(
cover: String,
chapters: ArrayList<String>,
srcs: ArrayList<String>
chapters: List<String>,
srcs: List<String>
): ContentsFragment {
val args = Bundle()
args.putString(ARGS_COVER, cover)
args.putStringArrayList(ARGS_CHAPTERS_LIST, chapters)
args.putStringArrayList(ARGS_SRC_LIST, srcs)
args.putStringArray(ARGS_CHAPTERS_LIST, chapters.toTypedArray())
args.putStringArray(ARGS_SRC_LIST, srcs.toTypedArray())

val fragment = ContentsFragment()
fragment.arguments = args
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ class ContentsAdapter : RecyclerView.Adapter<ContentsViewHolder>() {

private lateinit var cover: String

private lateinit var contentsList: ArrayList<String>
private lateinit var srcs: ArrayList<String>
private lateinit var contentsList: List<String>
private lateinit var srcs: List<String>

// REFACTORING: 2020/05/18 with dagger
fun init(cover: String, contentsList: ArrayList<String>, srcs: ArrayList<String>) {
fun init(cover: String, contentsList: List<String>, srcs: List<String>) {
this.cover = cover
this.contentsList = contentsList
this.srcs = srcs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import java.io.OutputStream
import javax.inject.Inject

// TODO: 2020/05/13 Fetch data form local database
class BookshelfViewModel : ViewModel {
class BookshelfViewModel @Inject constructor() : ViewModel() {

var ePubFiles = listOf<String>()

Expand All @@ -23,11 +23,8 @@ class BookshelfViewModel : ViewModel {
EPubFileStub.ASSET_EXTRACTED_COVER_FILE_PATH_04
)

@Inject
constructor()

fun initResources(context: Context) {
ePubFiles = context.assets.list("books/")?.toList() as List<String>
ePubFiles = context.assets.list("books")?.toList() as List<String>
forceInitialization(context)
}

Expand All @@ -53,7 +50,7 @@ class BookshelfViewModel : ViewModel {
private fun createBooksDirIfNotExist(context: Context): String {
val cachedBooksPath = StorageManager.getBooksPath(context)
val dir = File(cachedBooksPath)
if (!dir.exists()) dir.mkdirs()
if (dir.exists().not()) dir.mkdirs()
return cachedBooksPath
}
}

0 comments on commit 1d01f4d

Please sign in to comment.