diff options
author | Daniel Schaal <daniel@schaal.email> | 2021-07-12 07:52:37 +0300 |
---|---|---|
committer | Daniel Schaal <daniel@schaal.email> | 2021-07-25 10:10:47 +0300 |
commit | 72320cac79c9d3dcdeed804f01482ac509fb3db2 (patch) | |
tree | 6b298d7cdbd47d2a04d52bc7ff5eda2a20f1b5a4 | |
parent | 7a0118967378d19792918fea1e1ac355f8aea9cb (diff) |
Remove context argument from constructors
10 files changed, 35 insertions, 38 deletions
diff --git a/app/src/main/java/email/schaal/ocreader/ListActivity.kt b/app/src/main/java/email/schaal/ocreader/ListActivity.kt index d9fe0fde..3b891dc1 100644 --- a/app/src/main/java/email/schaal/ocreader/ListActivity.kt +++ b/app/src/main/java/email/schaal/ocreader/ListActivity.kt @@ -66,7 +66,10 @@ class ListActivity : AppCompatActivity(), ItemViewHolder.OnClickListener, OnRefr private fun updateSyncStatus(syncRunning: Boolean) { if(!syncRunning) - feedViewModel.updateTemporaryFeed(PreferenceManager.getDefaultSharedPreferences(this), true) + feedViewModel.updateTemporaryFeed(this, + PreferenceManager.getDefaultSharedPreferences(this), + true + ) binding.swipeRefreshLayout.isRefreshing = syncRunning binding.bottomAppbar.menu.findItem(R.id.menu_sync).isEnabled = !syncRunning @@ -189,7 +192,10 @@ class ListActivity : AppCompatActivity(), ItemViewHolder.OnClickListener, OnRefr } private fun reloadListFragment() { - feedViewModel.updateTemporaryFeed(PreferenceManager.getDefaultSharedPreferences(this), true) + feedViewModel.updateTemporaryFeed(this, + PreferenceManager.getDefaultSharedPreferences(this), + true + ) binding.itemsRecyclerview.scrollToPosition(0) } diff --git a/app/src/main/java/email/schaal/ocreader/database/FeedViewModel.kt b/app/src/main/java/email/schaal/ocreader/database/FeedViewModel.kt index 5ff3121b..d18aae8e 100644 --- a/app/src/main/java/email/schaal/ocreader/database/FeedViewModel.kt +++ b/app/src/main/java/email/schaal/ocreader/database/FeedViewModel.kt @@ -71,7 +71,7 @@ class FeedViewModel(context: Context) : RealmViewModel() { PreferenceManager.getDefaultSharedPreferences(context).edit().putBreadCrumbs(listOf(newTreeItem.treeItemId() to (newTreeItem is Feed))).apply() } - fun updateTemporaryFeed(preferences: SharedPreferences, updateTemporaryFeed: Boolean) { + fun updateTemporaryFeed(context: Context, preferences: SharedPreferences, updateTemporaryFeed: Boolean) { val temporaryFeed = temporaryFeedLiveData.value val selectedTreeItem = selectedTreeItemLiveData.value if (temporaryFeed == null || selectedTreeItem == null) return @@ -79,7 +79,7 @@ class FeedViewModel(context: Context) : RealmViewModel() { realm.executeTransaction { realm: Realm -> val tempItems = selectedTreeItem.getItems(realm, Preferences.SHOW_ONLY_UNREAD.getBoolean(preferences)) temporaryFeed.treeItemId = selectedTreeItem.treeItemId() - temporaryFeed.name = selectedTreeItem.treeItemName() + temporaryFeed.name = selectedTreeItem.treeItemName(context) temporaryFeed.items?.clear() temporaryFeed.items?.addAll(tempItems) } @@ -144,12 +144,12 @@ class FeedViewModel(context: Context) : RealmViewModel() { itemsLiveData = LiveRealmResults<Item>(temporaryFeed.items?.sort(Preferences.SORT_FIELD.getString(preferences) ?: Item::pubDate.name, Preferences.ORDER.getOrder(preferences))!!) foldersLiveData = LiveRealmResults(Folder.getAll(realm, Preferences.SHOW_ONLY_UNREAD.getBoolean(preferences))) topFolders = arrayOf( - AllUnreadFolder(context), - StarredFolder(context), - FreshFolder(context) + AllUnreadFolder(), + StarredFolder(), + FreshFolder() ) selectedTreeItemLiveData = MutableLiveData(getTreeItem(realm, Preferences.BREADCRUMBS.getBreadCrumbs(preferences).last(), topFolders)) userLiveData = LiveRealmObject(realm.where<User>().findFirst()) - updateTemporaryFeed(preferences, false) + updateTemporaryFeed(context, preferences, false) } }
\ No newline at end of file diff --git a/app/src/main/java/email/schaal/ocreader/database/model/AllUnreadFolder.kt b/app/src/main/java/email/schaal/ocreader/database/model/AllUnreadFolder.kt index 3cee2dac..ddec0a35 100644 --- a/app/src/main/java/email/schaal/ocreader/database/model/AllUnreadFolder.kt +++ b/app/src/main/java/email/schaal/ocreader/database/model/AllUnreadFolder.kt @@ -19,15 +19,12 @@ package email.schaal.ocreader.database.model -import android.content.Context import email.schaal.ocreader.R import io.realm.Realm import io.realm.Sort import io.realm.kotlin.where -class AllUnreadFolder(context: Context) : TreeItem { - val name: String = context.getString(R.string.unread_items) - +class AllUnreadFolder: SpecialFolder(R.string.unread_items) { companion object { const val ID: Long = -10 } @@ -36,10 +33,6 @@ class AllUnreadFolder(context: Context) : TreeItem { return ID } - override fun treeItemName(): String { - return name - } - override fun getIcon(): Int { return R.drawable.ic_feed_icon } diff --git a/app/src/main/java/email/schaal/ocreader/database/model/Feed.kt b/app/src/main/java/email/schaal/ocreader/database/model/Feed.kt index 73fa3868..6ad2d3d7 100644 --- a/app/src/main/java/email/schaal/ocreader/database/model/Feed.kt +++ b/app/src/main/java/email/schaal/ocreader/database/model/Feed.kt @@ -69,7 +69,7 @@ open class Feed( return id } - override fun treeItemName(): String { + override fun treeItemName(context: Context): String { return name } diff --git a/app/src/main/java/email/schaal/ocreader/database/model/Folder.kt b/app/src/main/java/email/schaal/ocreader/database/model/Folder.kt index 3229098b..12367b4f 100644 --- a/app/src/main/java/email/schaal/ocreader/database/model/Folder.kt +++ b/app/src/main/java/email/schaal/ocreader/database/model/Folder.kt @@ -19,6 +19,7 @@ package email.schaal.ocreader.database.model +import android.content.Context import android.os.Parcelable import com.squareup.moshi.JsonClass import email.schaal.ocreader.R @@ -69,7 +70,7 @@ open class Folder( return id } - override fun treeItemName(): String { + override fun treeItemName(context: Context): String { return name } diff --git a/app/src/main/java/email/schaal/ocreader/database/model/FreshFolder.kt b/app/src/main/java/email/schaal/ocreader/database/model/FreshFolder.kt index 5ac69510..4aa9c216 100644 --- a/app/src/main/java/email/schaal/ocreader/database/model/FreshFolder.kt +++ b/app/src/main/java/email/schaal/ocreader/database/model/FreshFolder.kt @@ -19,15 +19,12 @@ package email.schaal.ocreader.database.model -import android.content.Context import email.schaal.ocreader.R import io.realm.Realm import io.realm.kotlin.where import java.util.* -class FreshFolder(context: Context) : TreeItem { - val name = context.getString(R.string.fresh_items) - +class FreshFolder: SpecialFolder(R.string.fresh_items) { companion object { private const val MAX_ARTICLE_AGE = 24 * 60 * 60 * 1000 const val ID: Long = -12 @@ -37,10 +34,6 @@ class FreshFolder(context: Context) : TreeItem { return ID } - override fun treeItemName(): String { - return name - } - override fun getIcon(): Int { return R.drawable.fresh } diff --git a/app/src/main/java/email/schaal/ocreader/database/model/SpecialFolder.kt b/app/src/main/java/email/schaal/ocreader/database/model/SpecialFolder.kt new file mode 100644 index 00000000..f88171d5 --- /dev/null +++ b/app/src/main/java/email/schaal/ocreader/database/model/SpecialFolder.kt @@ -0,0 +1,10 @@ +package email.schaal.ocreader.database.model + +import android.content.Context +import androidx.annotation.StringRes + +abstract class SpecialFolder(@StringRes private val name_res: Int): TreeItem { + override fun treeItemName(context: Context): String { + return context.getString(name_res) + } +}
\ No newline at end of file diff --git a/app/src/main/java/email/schaal/ocreader/database/model/StarredFolder.kt b/app/src/main/java/email/schaal/ocreader/database/model/StarredFolder.kt index 640ecd51..6c1b984b 100644 --- a/app/src/main/java/email/schaal/ocreader/database/model/StarredFolder.kt +++ b/app/src/main/java/email/schaal/ocreader/database/model/StarredFolder.kt @@ -19,15 +19,12 @@ package email.schaal.ocreader.database.model -import android.content.Context import email.schaal.ocreader.R import io.realm.Realm import io.realm.Sort import io.realm.kotlin.where -class StarredFolder(context: Context): TreeItem { - val name = context.getString(R.string.starred_items) - +class StarredFolder: SpecialFolder(R.string.starred_items) { companion object { const val ID: Long = -11 } @@ -36,10 +33,6 @@ class StarredFolder(context: Context): TreeItem { return ID } - override fun treeItemName(): String { - return name - } - override fun getIcon(): Int { return R.drawable.ic_star_outline } diff --git a/app/src/main/java/email/schaal/ocreader/database/model/TreeItem.kt b/app/src/main/java/email/schaal/ocreader/database/model/TreeItem.kt index c828a962..2fcaabb0 100644 --- a/app/src/main/java/email/schaal/ocreader/database/model/TreeItem.kt +++ b/app/src/main/java/email/schaal/ocreader/database/model/TreeItem.kt @@ -19,12 +19,13 @@ package email.schaal.ocreader.database.model +import android.content.Context import androidx.annotation.DrawableRes import io.realm.Realm interface TreeItem { fun treeItemId() : Long? - fun treeItemName(): String + fun treeItemName(context: Context): String @DrawableRes fun getIcon(): Int fun getCount(realm: Realm): Int fun getFeeds(realm: Realm, onlyUnread: Boolean = false): List<Feed> diff --git a/app/src/main/java/email/schaal/ocreader/view/TreeItemsAdapter.kt b/app/src/main/java/email/schaal/ocreader/view/TreeItemsAdapter.kt index 8d78e78a..20c9d445 100644 --- a/app/src/main/java/email/schaal/ocreader/view/TreeItemsAdapter.kt +++ b/app/src/main/java/email/schaal/ocreader/view/TreeItemsAdapter.kt @@ -45,7 +45,7 @@ class TreeItemsAdapter(context: Context, private var treeItems: List<TreeItem>?, return 0 } - override fun treeItemName(): String { + override fun treeItemName(context: Context): String { return name } @@ -110,7 +110,7 @@ class TreeItemsAdapter(context: Context, private var treeItems: List<TreeItem>?, private class DividerViewHolder internal constructor(private val binding: ListDividerBinding) : RecyclerView.ViewHolder(binding.root) { fun bind(treeItem: TreeItem) { - binding.textViewDivider.text = treeItem.treeItemName() + binding.textViewDivider.text = treeItem.treeItemName(binding.root.context) } } @@ -120,7 +120,7 @@ class TreeItemsAdapter(context: Context, private var treeItems: List<TreeItem>?, itemView.isSelected = treeItem.treeItemId() == selectedTreeItemId itemView.setOnClickListener { clickListener?.onTreeItemClick(treeItem) } binding.imageviewFavicon.setImageResource(treeItem.getIcon()) - binding.textViewTitle.text = treeItem.treeItemName() + binding.textViewTitle.text = treeItem.treeItemName(binding.root.context) } } } |