Marked old classes as deprecated

This commit is contained in:
2021-02-21 19:25:55 +03:00
parent 662f1333c2
commit f15690758c
35 changed files with 147 additions and 311 deletions
+5 -9
View File
@@ -12,7 +12,7 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".activity.MainActivity">
<activity android:name=".activity.MainActivityDeprecated">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -24,23 +24,19 @@
android:name=".service.LongPollService"
android:enabled="true" />
<activity android:name=".activity.MessagesActivity" />
<activity android:name=".activity.MessagesActivityDeprecated" />
<activity
android:name=".activity.StartActivity"
android:theme="@style/AppTheme.Start" />
<activity
android:name=".activity.LoginActivity"
android:name=".activity.LoginActivityDeprecated"
android:label="@string/activity_login" />
<activity android:name=".activity.DropUserDataActivity" />
<activity
android:name=".activity.SettingsActivity"
android:name=".activity.SettingsActivityDeprecated"
android:label="@string/navigation_settings" />
<activity android:name=".activity.UpdateActivity" />
<activity android:name=".activity.UpdateActivityDeprecated" />
<receiver
android:name=".receiver.MinuteReceiver"
@@ -16,7 +16,7 @@ class DropUserDataActivity : BaseActivity() {
TaskManager.execute { AppGlobal.database.clearAllTables() }
startActivity(Intent(this, MainActivity::class.java))
startActivity(Intent(this, MainActivityDeprecated::class.java))
finishAffinity()
}
@@ -19,7 +19,7 @@ import com.meloda.fast.extensions.ContextExtensions.drawable
import com.meloda.fast.extensions.DrawableExtensions.tint
import com.meloda.fast.widget.Toolbar
class LoginActivity : BaseActivity() {
class LoginActivityDeprecated : BaseActivity() {
private lateinit var toolbar: Toolbar
private lateinit var progressBar: ProgressBar
@@ -125,7 +125,7 @@ class LoginActivity : BaseActivity() {
UserConfig.save()
finishAffinity()
startActivity(Intent(this, MainActivity::class.java))
startActivity(Intent(this, MainActivityDeprecated::class.java))
}
} catch (e: Exception) {
e.printStackTrace()
@@ -22,8 +22,8 @@ import com.meloda.fast.dialog.AccountDialog
import com.meloda.fast.extensions.ContextExtensions.color
import com.meloda.fast.extensions.ContextExtensions.drawable
import com.meloda.fast.extensions.DrawableExtensions.tint
import com.meloda.fast.fragment.FragmentConversations
import com.meloda.fast.fragment.FragmentFriends
import com.meloda.fast.fragment.FragmentConversationsDeprecated
import com.meloda.fast.fragment.FragmentFriendsDeprecated
import com.meloda.fast.fragment.SettingsFragment
import com.meloda.fast.fragment.LoginFragment
import com.meloda.fast.listener.OnResponseListener
@@ -33,12 +33,12 @@ import com.meloda.fast.util.ViewUtils
import com.meloda.fast.widget.Toolbar
class MainActivity : BaseActivity(),
class MainActivityDeprecated : BaseActivity(),
NavigationView.OnNavigationItemSelectedListener,
BottomNavigationView.OnNavigationItemSelectedListener {
private lateinit var fragmentConversations: FragmentConversations
private lateinit var fragmentFriends: FragmentFriends
private lateinit var fragmentConversationsDeprecated: FragmentConversationsDeprecated
private lateinit var fragmentFriendsDeprecated: FragmentFriendsDeprecated
private lateinit var settingsFragment: SettingsFragment
private var selectedId = 0
@@ -57,7 +57,7 @@ class MainActivity : BaseActivity(),
if (UserConfig.isLoggedIn()) {
supportFragmentManager.beginTransaction()
.replace(R.id.fragmentContainer, FragmentConversations())
.replace(R.id.fragmentContainer, FragmentConversationsDeprecated())
.commit()
} else {
bottomBar.isVisible = false
@@ -89,8 +89,8 @@ class MainActivity : BaseActivity(),
}
private fun prepareFragments() {
fragmentConversations = FragmentConversations()
fragmentFriends = FragmentFriends(UserConfig.userId)
fragmentConversationsDeprecated = FragmentConversationsDeprecated()
fragmentFriendsDeprecated = FragmentFriendsDeprecated(UserConfig.userId)
settingsFragment = SettingsFragment()
val containerId = R.id.fragmentContainer
@@ -98,7 +98,7 @@ class MainActivity : BaseActivity(),
FragmentSwitcher.addFragments(
supportFragmentManager,
containerId,
listOf(fragmentConversations)
listOf(fragmentConversationsDeprecated)
)
}
@@ -156,7 +156,7 @@ class MainActivity : BaseActivity(),
startLongPoll()
loadProfileInfo()
} else {
openStartScreen()
}
}
@@ -170,15 +170,10 @@ class MainActivity : BaseActivity(),
startService(Intent(this, LongPollService::class.java))
}
private fun openStartScreen() {
finish()
startActivity(Intent(this, StartActivity::class.java))
}
private fun openConversationsScreen() {
FragmentSwitcher.showFragment(
supportFragmentManager,
fragmentConversations.javaClass.simpleName,
fragmentConversationsDeprecated.javaClass.simpleName,
true
)
}
@@ -186,13 +181,13 @@ class MainActivity : BaseActivity(),
private fun openFriendsScreen() {
FragmentSwitcher.showFragment(
supportFragmentManager,
fragmentFriends.javaClass.simpleName,
fragmentFriendsDeprecated.javaClass.simpleName,
true
)
}
private fun openSettingsScreen() {
startActivity(Intent(this, SettingsActivity::class.java))
startActivity(Intent(this, SettingsActivityDeprecated::class.java))
}
private fun loadProfileInfo() {
@@ -15,8 +15,8 @@ import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.amulyakhare.textdrawable.TextDrawable
import com.meloda.fast.R
import com.meloda.fast.activity.ui.presenter.MessagesPresenter
import com.meloda.fast.activity.ui.view.MessagesView
import com.meloda.fast.activity.ui.presenter.MessagesPresenterDeprecated
import com.meloda.fast.activity.ui.view.MessagesViewDeprecated
import com.meloda.fast.api.model.VKConversation
import com.meloda.fast.api.model.VKGroup
import com.meloda.fast.api.model.VKModel
@@ -34,7 +34,7 @@ import com.meloda.fast.util.ViewUtils
import com.meloda.fast.widget.CircleImageView
class MessagesActivity : BaseActivity(), MessagesView {
class MessagesActivityDeprecated : BaseActivity(), MessagesViewDeprecated {
companion object {
const val TAG = "MessagesActivity"
@@ -67,7 +67,7 @@ class MessagesActivity : BaseActivity(), MessagesView {
private var dialogUser: VKUser? = null
private var dialogGroup: VKGroup? = null
private lateinit var presenter: MessagesPresenter
private lateinit var presenterDeprecated: MessagesPresenterDeprecated
lateinit var recyclerView: RecyclerView
private lateinit var refreshLayout: SwipeRefreshLayout
@@ -86,7 +86,7 @@ class MessagesActivity : BaseActivity(), MessagesView {
override fun onDestroy() {
super.onDestroy()
presenter.destroy()
presenterDeprecated.destroy()
}
override fun onCreate(savedInstanceState: Bundle?) {
@@ -101,8 +101,8 @@ class MessagesActivity : BaseActivity(), MessagesView {
prepareRecyclerView()
prepareEditText()
presenter = MessagesPresenter(this)
presenter.setup(peerId, recyclerView)
presenterDeprecated = MessagesPresenterDeprecated(this)
presenterDeprecated.setup(peerId, recyclerView)
}
private fun initViews() {
@@ -142,9 +142,9 @@ class MessagesActivity : BaseActivity(), MessagesView {
chatAvatar.loadImage(avatar, placeholder)
toolbar.setOnClickListener { presenter.openProfile() }
toolbar.setOnClickListener { presenterDeprecated.openProfile() }
chatAvatar.setOnClickListener { presenter.openProfile() }
chatAvatar.setOnClickListener { presenterDeprecated.openProfile() }
chatTitle.text = title
@@ -209,7 +209,7 @@ class MessagesActivity : BaseActivity(), MessagesView {
android.R.id.home -> onBackPressed()
R.id.messagesRefresh -> {
presenter.updateData()
presenterDeprecated.updateData()
}
}
@@ -237,11 +237,11 @@ class MessagesActivity : BaseActivity(), MessagesView {
setImageResource(R.drawable.ic_send)
setOnClickListener {
presenter.sendMessage(chatMessage.text.toString(), attachments)
presenterDeprecated.sendMessage(chatMessage.text.toString(), attachments)
}
setOnLongClickListener {
presenter.sendMessage(chatMessage.text.toString(), attachments, false)
presenterDeprecated.sendMessage(chatMessage.text.toString(), attachments, false)
true
}
}
@@ -331,7 +331,7 @@ class MessagesActivity : BaseActivity(), MessagesView {
builder.setTitle(R.string.error_occurred)
builder.setMessage(R.string.error_loading_message)
builder.setPositiveButton(R.string.retry) { _, _ ->
presenter.loadConversation(peerId)
presenterDeprecated.loadConversation(peerId)
}
builder.setNegativeButton(R.string.no) { _, _ -> onBackPressed() }
builder.setCancelable(false)
@@ -9,7 +9,7 @@ import com.meloda.fast.fragment.SettingsFragment
import com.meloda.fast.util.ColorUtils
import com.meloda.fast.widget.Toolbar
class SettingsActivity : BaseActivity() {
class SettingsActivityDeprecated : BaseActivity() {
private lateinit var toolbar: Toolbar
@@ -1,82 +0,0 @@
package com.meloda.fast.activity
import android.annotation.SuppressLint
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.widget.AppCompatEditText
import com.google.android.material.button.MaterialButton
import com.meloda.fast.R
import com.meloda.fast.api.UserConfig
import com.meloda.fast.base.BaseActivity
@SuppressLint("InflateParams")
class StartActivity : BaseActivity() {
private lateinit var startEnter: MaterialButton
private lateinit var startLoginSettings: MaterialButton
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_start)
initViews()
prepareEnterButton()
}
private fun initViews() {
startEnter = findViewById(R.id.startEnter)
startLoginSettings = findViewById(R.id.startLoginSettings)
}
private fun prepareEnterButton() {
startEnter.setOnClickListener {
startActivity(Intent(this, LoginActivity::class.java))
}
startEnter.setOnLongClickListener {
showUserIdTokenDialog()
true
}
startLoginSettings.setOnClickListener {
Toast.makeText(this, R.string.in_progress_placeholder, Toast.LENGTH_LONG).show()
}
}
private fun showUserIdTokenDialog() {
AlertDialog.Builder(this).apply {
setTitle(R.string.custom_data)
val view = LayoutInflater.from(this@StartActivity)
.inflate(R.layout.activity_login_custom_data, null, false) as View
setView(view)
val userId = view.findViewById<AppCompatEditText>(R.id.customDataUserId)
val token = view.findViewById<AppCompatEditText>(R.id.customDataToken)
setPositiveButton(android.R.string.ok) { _, _ ->
if (userId.text.toString().isEmpty() || token.text.toString().isEmpty())
return@setPositiveButton
val id = userId.text.toString().toInt()
val accessToken = token.text.toString()
if (id < 1) return@setPositiveButton
UserConfig.userId = id
UserConfig.token = accessToken
UserConfig.save()
finish()
startActivity(Intent(this@StartActivity, MainActivity::class.java))
}
setCancelable(false)
setNegativeButton(android.R.string.cancel, null)
}.show()
}
}
@@ -36,7 +36,7 @@ import java.text.SimpleDateFormat
import java.util.*
class UpdateActivity : BaseActivity() {
class UpdateActivityDeprecated : BaseActivity() {
companion object {
private const val FILE_BASE_PATH = "file://"
@@ -149,7 +149,7 @@ class UpdateActivity : BaseActivity() {
override fun onResponse(response: Any?) {
timer.cancel()
installUpdate(this@UpdateActivity, file)
installUpdate(this@UpdateActivityDeprecated, file)
unregisterReceiver(receiver)
@@ -218,7 +218,7 @@ class UpdateActivity : BaseActivity() {
isChecking = false
isNewUpdate = true
this@UpdateActivity.newUpdate = updateInfo
this@UpdateActivityDeprecated.newUpdate = updateInfo
refreshState()
}
@@ -227,7 +227,7 @@ class UpdateActivity : BaseActivity() {
isNewUpdate = false
isChecking = false
this@UpdateActivity.newUpdate = NewUpdateInfo()
this@UpdateActivityDeprecated.newUpdate = NewUpdateInfo()
refreshState()
}
@@ -2,9 +2,9 @@ package com.meloda.fast.activity.ui.presenter
import androidx.recyclerview.widget.RecyclerView
import com.meloda.fast.R
import com.meloda.fast.activity.ui.repository.MessagesRepository
import com.meloda.fast.activity.ui.view.MessagesView
import com.meloda.fast.adapter.MessagesAdapter
import com.meloda.fast.activity.ui.repository.MessagesRepositoryDeprecated
import com.meloda.fast.activity.ui.view.MessagesViewDeprecated
import com.meloda.fast.adapter.MessagesAdapterDeprecated
import com.meloda.fast.api.UserConfig
import com.meloda.fast.api.VKApiKeys
import com.meloda.fast.api.model.VKConversation
@@ -20,10 +20,10 @@ import com.meloda.mvp.MvpOnLoadListener
import com.meloda.mvp.MvpPresenter
import kotlin.random.Random
class MessagesPresenter(viewState: MessagesView) :
MvpPresenter<VKMessage, MessagesRepository, MessagesView>(
class MessagesPresenterDeprecated(viewState: MessagesViewDeprecated) :
MvpPresenter<VKMessage, MessagesRepositoryDeprecated, MessagesViewDeprecated>(
viewState,
MessagesRepository::class.java.name
MessagesRepositoryDeprecated::class.java.name
),
ItemClickListener,
ItemLongClickListener,
@@ -33,7 +33,7 @@ class MessagesPresenter(viewState: MessagesView) :
const val DEFAULT_MESSAGES_COUNT = 30
}
private lateinit var adapter: MessagesAdapter
private lateinit var adapter: MessagesAdapterDeprecated
private lateinit var conversation: VKConversation
private var peerId: Int = -1
@@ -65,7 +65,7 @@ class MessagesPresenter(viewState: MessagesView) :
}
private fun createAdapter() {
adapter = MessagesAdapter(context!!, arrayListOf(), conversation).also {
adapter = MessagesAdapterDeprecated(context!!, arrayListOf(), conversation).also {
it.itemClickListener = this
it.itemLongClickListener = this
}
@@ -18,7 +18,7 @@ import com.meloda.mvp.MvpOnLoadListener
import com.meloda.mvp.MvpRepository
import java.util.*
class MessagesRepository : MvpRepository<VKMessage>() {
class MessagesRepositoryDeprecated : MvpRepository<VKMessage>() {
fun loadMessages(
peerId: Int,
@@ -3,7 +3,7 @@ package com.meloda.fast.activity.ui.view
import com.meloda.fast.api.model.VKConversation
import com.meloda.mvp.MvpView
interface MessagesView : MvpView {
interface MessagesViewDeprecated : MvpView {
fun showChatPanel()
@@ -17,7 +17,7 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.meloda.fast.R
import com.meloda.fast.adapter.diffutil.ConversationsCallback
import com.meloda.fast.adapter.diffutil.ConversationsCallbackDeprecated
import com.meloda.fast.api.UserConfig
import com.meloda.fast.api.VKApiKeys
import com.meloda.fast.api.model.VKConversation
@@ -37,10 +37,10 @@ import com.meloda.fast.widget.CircleImageView
@Suppress("UNCHECKED_CAST")
class ConversationsAdapter(
class ConversationsAdapterDeprecated(
val recyclerView: RecyclerView,
values: ArrayList<VKConversation>
) : BaseAdapter<VKConversation, ConversationsAdapter.ConversationHolder>(
) : BaseAdapter<VKConversation, ConversationsAdapterDeprecated.ConversationHolder>(
recyclerView.context,
values
), TaskManager.OnEventListener {
@@ -97,7 +97,7 @@ class ConversationsAdapter(
}
fun notifyChanges(oldList: List<VKConversation>, newList: List<VKConversation> = values) {
val callback = ConversationsCallback(oldList, newList)
val callback = ConversationsCallbackDeprecated(oldList, newList)
val diff = DiffUtil.calculateDiff(callback)
diff.dispatchUpdatesTo(this)
@@ -128,7 +128,7 @@ class ConversationsAdapter(
fun bind(position: Int, payloads: MutableList<Any>) {
Log.d(TAG, "bind position: $position")
val conversation = this@ConversationsAdapter[position]
val conversation = this@ConversationsAdapterDeprecated[position]
val lastMessage = conversation.lastMessage
@@ -157,7 +157,7 @@ class ConversationsAdapter(
if (payloads.isNotEmpty()) {
for (payload in payloads) {
when (payload) {
ConversationsCallback.CONVERSATION -> {
ConversationsCallbackDeprecated.CONVERSATION -> {
setUserOnline(conversation, peerUser)
prepareUserAvatar(
conversation,
@@ -170,7 +170,7 @@ class ConversationsAdapter(
setIsRead(lastMessage, conversation)
setCounterBackground(conversation)
}
ConversationsCallback.MESSAGE -> {
ConversationsCallbackDeprecated.MESSAGE -> {
prepareUserAvatar(
conversation,
lastMessage,
@@ -181,14 +181,14 @@ class ConversationsAdapter(
setIsRead(lastMessage, conversation)
setDate(lastMessage)
}
ConversationsCallback.GROUP -> {
ConversationsCallbackDeprecated.GROUP -> {
prepareAvatar(dialogTitle, conversation, peerUser, peerGroup)
}
ConversationsCallback.USER -> {
ConversationsCallbackDeprecated.USER -> {
setUserOnline(conversation, peerUser)
prepareAvatar(dialogTitle, conversation, peerUser, peerGroup)
}
ConversationsCallback.EDIT_MESSAGE -> {
ConversationsCallbackDeprecated.EDIT_MESSAGE -> {
prepareUserAvatar(
conversation,
lastMessage,
@@ -199,19 +199,19 @@ class ConversationsAdapter(
setIsRead(lastMessage, conversation)
setDate(lastMessage)
}
ConversationsCallback.DATE -> {
ConversationsCallbackDeprecated.DATE -> {
setDate(lastMessage)
}
ConversationsCallback.ONLINE -> {
ConversationsCallbackDeprecated.ONLINE -> {
setUserOnline(conversation, peerUser)
}
ConversationsCallback.ATTACHMENTS -> {
ConversationsCallbackDeprecated.ATTACHMENTS -> {
prepareAttachments(lastMessage)
}
ConversationsCallback.AVATAR -> {
ConversationsCallbackDeprecated.AVATAR -> {
prepareAvatar(dialogTitle, conversation, peerUser, peerGroup)
}
ConversationsCallback.USER_AVATAR -> {
ConversationsCallbackDeprecated.USER_AVATAR -> {
prepareUserAvatar(
conversation,
lastMessage,
@@ -219,10 +219,10 @@ class ConversationsAdapter(
fromGroup
)
}
ConversationsCallback.READ -> {
ConversationsCallbackDeprecated.READ -> {
setIsRead(lastMessage, conversation)
}
ConversationsCallback.NOTIFICATIONS -> {
ConversationsCallbackDeprecated.NOTIFICATIONS -> {
setCounterBackground(conversation)
}
}
@@ -509,7 +509,7 @@ class ConversationsAdapter(
conversation.lastMessage = message
notifyItemChanged(index, ConversationsCallback.EDIT_MESSAGE)
notifyItemChanged(index, ConversationsCallbackDeprecated.EDIT_MESSAGE)
}
private fun readMessage(peerId: Int, messageId: Int) {
@@ -531,7 +531,7 @@ class ConversationsAdapter(
conversation.lastMessageId - messageId
}
notifyItemChanged(index, ConversationsCallback.READ)
notifyItemChanged(index, ConversationsCallbackDeprecated.READ)
}
@Deprecated("Need to rewrite")
@@ -651,7 +651,7 @@ class ConversationsAdapter(
set(index, conversation)
AppGlobal.post { notifyItemChanged(index, ConversationsCallback.CONVERSATION) }
AppGlobal.post { notifyItemChanged(index, ConversationsCallbackDeprecated.CONVERSATION) }
}
}
@@ -686,7 +686,7 @@ class ConversationsAdapter(
lastMessage = MemoryCache.getMessageById(messageId) ?: return@execute
}
AppGlobal.handler.post { notifyItemChanged(index, ConversationsCallback.MESSAGE) }
AppGlobal.handler.post { notifyItemChanged(index, ConversationsCallbackDeprecated.MESSAGE) }
}
}
@@ -14,7 +14,7 @@ import androidx.core.view.isVisible
import androidx.recyclerview.widget.LinearLayoutManager
import com.meloda.fast.BuildConfig
import com.meloda.fast.R
import com.meloda.fast.activity.MessagesActivity
import com.meloda.fast.activity.MessagesActivityDeprecated
import com.meloda.fast.api.VKApiKeys
import com.meloda.fast.api.model.*
import com.meloda.fast.api.util.VKUtil
@@ -36,12 +36,12 @@ import kotlin.math.abs
@Suppress("UNCHECKED_CAST")
class MessagesAdapter(
class MessagesAdapterDeprecated(
context: Context,
values: ArrayList<VKMessage>,
var conversation: VKConversation
) : BaseAdapter<VKMessage, MessagesAdapter.Holder>(context, values),
) : BaseAdapter<VKMessage, MessagesAdapterDeprecated.Holder>(context, values),
TaskManager.OnEventListener {
companion object {
@@ -60,7 +60,7 @@ class MessagesAdapter(
const val TAG = "MessagesAdapter"
}
private var recyclerView = (context as MessagesActivity).recyclerView
private var recyclerView = (context as MessagesActivityDeprecated).recyclerView
private var layoutManager = recyclerView.layoutManager as LinearLayoutManager
var isNotCachedValues = false
@@ -8,7 +8,7 @@ import android.widget.TextView
import androidx.core.view.isVisible
import androidx.recyclerview.widget.DiffUtil
import com.meloda.fast.R
import com.meloda.fast.adapter.diffutil.UsersCallback
import com.meloda.fast.adapter.diffutil.UsersCallbackDeprecated
import com.meloda.fast.api.model.VKUser
import com.meloda.fast.api.util.VKUtil
import com.meloda.fast.base.BaseAdapter
@@ -16,8 +16,8 @@ import com.meloda.fast.base.BaseHolder
import com.meloda.fast.util.ImageUtils
import com.meloda.fast.widget.CircleImageView
class UsersAdapter(context: Context, values: ArrayList<VKUser>) :
BaseAdapter<VKUser, UsersAdapter.ViewHolder>(context, values) {
class UsersAdapterDeprecated(context: Context, values: ArrayList<VKUser>) :
BaseAdapter<VKUser, UsersAdapterDeprecated.ViewHolder>(context, values) {
var isLoading: Boolean = false
var currentPosition: Int = 0
@@ -60,7 +60,7 @@ class UsersAdapter(context: Context, values: ArrayList<VKUser>) :
}
fun notifyChanges(oldList: List<VKUser>, newList: List<VKUser> = values) {
val callback = UsersCallback(oldList, newList)
val callback = UsersCallbackDeprecated(oldList, newList)
val diff = DiffUtil.calculateDiff(callback, false)
diff.dispatchUpdatesTo(this)
@@ -3,7 +3,7 @@ package com.meloda.fast.adapter.diffutil
import androidx.recyclerview.widget.DiffUtil
import com.meloda.fast.api.model.VKConversation
class ConversationsCallback(
class ConversationsCallbackDeprecated(
private val oldList: List<VKConversation>,
private val newList: List<VKConversation>
) : DiffUtil.Callback() {
@@ -3,7 +3,7 @@ package com.meloda.fast.adapter.diffutil
import androidx.recyclerview.widget.DiffUtil
import com.meloda.fast.api.model.VKUser
class UsersCallback(private val oldList: List<VKUser>, private val newList: List<VKUser>) :
class UsersCallbackDeprecated(private val oldList: List<VKUser>, private val newList: List<VKUser>) :
DiffUtil.Callback() {
companion object {
@@ -3,7 +3,7 @@ package com.meloda.fast.base
import androidx.annotation.IdRes
import androidx.appcompat.widget.Toolbar
import androidx.fragment.app.Fragment
import com.meloda.fast.activity.MainActivity
import com.meloda.fast.activity.MainActivityDeprecated
abstract class BaseFragment : Fragment() {
@@ -11,7 +11,7 @@ abstract class BaseFragment : Fragment() {
val toolbar: Toolbar = requireView().findViewById(resId)
activity?.let {
if (it is MainActivity && toolbar is com.meloda.fast.widget.Toolbar) it.initToolbar(
if (it is MainActivityDeprecated && toolbar is com.meloda.fast.widget.Toolbar) it.initToolbar(
toolbar
)
}
@@ -3,9 +3,8 @@ package com.meloda.fast.common
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import com.meloda.fast.R
import com.meloda.fast.fragment.FragmentConversations
import com.meloda.fast.fragment.FragmentFriends
import com.meloda.fast.fragment.FragmentImportant
import com.meloda.fast.fragment.FragmentConversationsDeprecated
import com.meloda.fast.fragment.FragmentFriendsDeprecated
object FragmentSwitcher {
@@ -109,9 +108,8 @@ object FragmentSwitcher {
private fun createFragmentByTag(tag: String): Fragment {
return when (tag) {
"FragmentFriends" -> FragmentFriends()
"FragmentImportant" -> FragmentImportant()
"FragmentConversations" -> FragmentConversations()
"FragmentFriends" -> FragmentFriendsDeprecated()
"FragmentConversations" -> FragmentConversationsDeprecated()
else -> Fragment()
}
}
@@ -10,7 +10,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.meloda.fast.R
import com.meloda.fast.activity.SettingsActivity
import com.meloda.fast.activity.SettingsActivityDeprecated
import com.meloda.fast.adapter.SimpleItemAdapter
import com.meloda.fast.api.UserConfig
import com.meloda.fast.base.BaseFullscreenDialog
@@ -99,7 +99,7 @@ class AccountDialog : BaseFullscreenDialog(), ItemClickListener {
}
private fun openSettingsScreen() {
startActivity(Intent(requireContext(), SettingsActivity::class.java))
startActivity(Intent(requireContext(), SettingsActivityDeprecated::class.java))
}
override fun onItemClick(position: Int) {
@@ -14,7 +14,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.meloda.fast.R
import com.meloda.fast.activity.MessagesActivity
import com.meloda.fast.activity.MessagesActivityDeprecated
import com.meloda.fast.api.UserConfig
import com.meloda.fast.api.VKApiKeys
import com.meloda.fast.base.BaseFragment
@@ -23,17 +23,17 @@ import com.meloda.fast.common.TaskManager
import com.meloda.fast.event.EventInfo
import com.meloda.fast.extensions.FragmentExtensions.findViewById
import com.meloda.fast.extensions.FragmentExtensions.runOnUiThread
import com.meloda.fast.fragment.ui.presenter.ConversationsPresenter
import com.meloda.fast.fragment.ui.view.ConversationsView
import com.meloda.fast.fragment.ui.presenter.ConversationsPresenterDeprecated
import com.meloda.fast.fragment.ui.view.ConversationsViewDeprecated
import com.meloda.fast.util.AndroidUtils
import com.meloda.fast.util.ViewUtils
import com.meloda.fast.widget.Toolbar
@Suppress("UNCHECKED_CAST")
class FragmentConversations : BaseFragment(), ConversationsView {
class FragmentConversationsDeprecated : BaseFragment(), ConversationsViewDeprecated {
private lateinit var presenter: ConversationsPresenter
private lateinit var presenterDeprecated: ConversationsPresenterDeprecated
private lateinit var toolbar: Toolbar
private lateinit var refreshLayout: SwipeRefreshLayout
@@ -57,8 +57,8 @@ class FragmentConversations : BaseFragment(), ConversationsView {
prepareRecyclerView()
prepareRefreshLayout()
presenter = ConversationsPresenter(this)
presenter.setup(recyclerView, refreshLayout)
presenterDeprecated = ConversationsPresenterDeprecated(this)
presenterDeprecated.setup(recyclerView, refreshLayout)
}
private fun initViews() {
@@ -122,7 +122,7 @@ class FragmentConversations : BaseFragment(), ConversationsView {
}
override fun openChat(extras: Bundle) {
startActivity(Intent(requireContext(), MessagesActivity::class.java).putExtras(extras))
startActivity(Intent(requireContext(), MessagesActivityDeprecated::class.java).putExtras(extras))
}
override fun showErrorSnackbar(t: Throwable) {
@@ -15,7 +15,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.meloda.fast.R
import com.meloda.fast.activity.MessagesActivity
import com.meloda.fast.activity.MessagesActivityDeprecated
import com.meloda.fast.api.UserConfig
import com.meloda.fast.api.VKApiKeys
import com.meloda.fast.base.BaseFragment
@@ -23,14 +23,14 @@ import com.meloda.fast.common.AppGlobal
import com.meloda.fast.common.TaskManager
import com.meloda.fast.event.EventInfo
import com.meloda.fast.extensions.FragmentExtensions.findViewById
import com.meloda.fast.fragment.ui.presenter.FriendsPresenter
import com.meloda.fast.fragment.ui.view.FriendsView
import com.meloda.fast.fragment.ui.presenter.FriendsPresenterDeprecated
import com.meloda.fast.fragment.ui.view.FriendsViewDeprecated
import com.meloda.fast.util.ViewUtils
import com.meloda.fast.widget.Toolbar
class FragmentFriends(private val userId: Int = 0) : BaseFragment(), FriendsView {
class FragmentFriendsDeprecated(private val userId: Int = 0) : BaseFragment(), FriendsViewDeprecated {
private lateinit var presenter: FriendsPresenter
private lateinit var presenterDeprecated: FriendsPresenterDeprecated
private lateinit var toolbar: Toolbar
private lateinit var recyclerView: RecyclerView
@@ -56,8 +56,8 @@ class FragmentFriends(private val userId: Int = 0) : BaseFragment(), FriendsView
prepareRecyclerView()
prepareRefreshLayout()
presenter = FriendsPresenter(this)
presenter.setup(userId, recyclerView, refreshLayout)
presenterDeprecated = FriendsPresenterDeprecated(this)
presenterDeprecated.setup(userId, recyclerView, refreshLayout)
}
private fun initViews() {
@@ -104,7 +104,7 @@ class FragmentFriends(private val userId: Int = 0) : BaseFragment(), FriendsView
}
override fun onDetach() {
presenter.destroy()
presenterDeprecated.destroy()
super.onDetach()
}
@@ -131,7 +131,7 @@ class FragmentFriends(private val userId: Int = 0) : BaseFragment(), FriendsView
}
override fun openChat(extras: Bundle) {
startActivity(Intent(requireContext(), MessagesActivity::class.java).putExtras(extras))
startActivity(Intent(requireContext(), MessagesActivityDeprecated::class.java).putExtras(extras))
}
override fun showErrorSnackbar(t: Throwable) {
@@ -1,21 +0,0 @@
package com.meloda.fast.fragment
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.meloda.fast.R
import com.meloda.fast.base.BaseFragment
class FragmentImportant : BaseFragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_important, container, false)
}
}
@@ -1,8 +0,0 @@
package com.meloda.fast.fragment
import com.meloda.fast.base.BaseFragment
class FragmentSearch : BaseFragment() {
inner class SearchConversations : BaseFragment()
inner class SearchMessages : BaseFragment()
}
@@ -9,7 +9,7 @@ import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceScreen
import com.meloda.fast.R
import com.meloda.fast.activity.DropUserDataActivity
import com.meloda.fast.activity.UpdateActivity
import com.meloda.fast.activity.UpdateActivityDeprecated
import com.meloda.fast.common.AppGlobal
import com.meloda.fast.common.TaskManager
import com.meloda.fast.extensions.ContextExtensions.color
@@ -171,7 +171,7 @@ class SettingsFragment : PreferenceFragmentCompat(),
}
private fun openUpdateScreen() {
startActivity(Intent(requireContext(), UpdateActivity::class.java))
startActivity(Intent(requireContext(), UpdateActivityDeprecated::class.java))
}
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
@@ -6,16 +6,16 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.meloda.fast.BuildConfig
import com.meloda.fast.activity.MessagesActivity
import com.meloda.fast.adapter.ConversationsAdapter
import com.meloda.fast.adapter.diffutil.ConversationsCallback
import com.meloda.fast.activity.MessagesActivityDeprecated
import com.meloda.fast.adapter.ConversationsAdapterDeprecated
import com.meloda.fast.adapter.diffutil.ConversationsCallbackDeprecated
import com.meloda.fast.api.model.VKConversation
import com.meloda.fast.api.util.VKUtil
import com.meloda.fast.common.TaskManager
import com.meloda.fast.common.TimeManager
import com.meloda.fast.database.MemoryCache
import com.meloda.fast.fragment.ui.repository.ConversationsRepository
import com.meloda.fast.fragment.ui.view.ConversationsView
import com.meloda.fast.fragment.ui.repository.ConversationsRepositoryDeprecated
import com.meloda.fast.fragment.ui.view.ConversationsViewDeprecated
import com.meloda.fast.listener.ItemClickListener
import com.meloda.fast.listener.ItemLongClickListener
import com.meloda.fast.util.AndroidUtils
@@ -24,10 +24,10 @@ import com.meloda.mvp.MvpOnLoadListener
import com.meloda.mvp.MvpPresenter
import java.util.*
class ConversationsPresenter(viewState: ConversationsView) :
MvpPresenter<VKConversation, ConversationsRepository, ConversationsView>(
class ConversationsPresenterDeprecated(viewState: ConversationsViewDeprecated) :
MvpPresenter<VKConversation, ConversationsRepositoryDeprecated, ConversationsViewDeprecated>(
viewState,
ConversationsRepository::class.java.name
ConversationsRepositoryDeprecated::class.java.name
),
ItemClickListener,
ItemLongClickListener,
@@ -39,7 +39,7 @@ class ConversationsPresenter(viewState: ConversationsView) :
private var conversationsCount: Int = 0
private lateinit var adapter: ConversationsAdapter
private lateinit var adapter: ConversationsAdapterDeprecated
private lateinit var recyclerView: RecyclerView
private lateinit var layoutManager: LinearLayoutManager
@@ -194,7 +194,7 @@ class ConversationsPresenter(viewState: ConversationsView) :
}
private fun createAdapter() {
adapter = ConversationsAdapter(recyclerView, arrayListOf()).also {
adapter = ConversationsAdapterDeprecated(recyclerView, arrayListOf()).also {
it.itemClickListener = this
it.itemLongClickListener = this
}
@@ -225,7 +225,7 @@ class ConversationsPresenter(viewState: ConversationsView) :
}
override fun onMinuteChange(currentMinute: Int) {
post { adapter.notifyItemRangeChanged(0, adapter.itemCount, ConversationsCallback.DATE) }
post { adapter.notifyItemRangeChanged(0, adapter.itemCount, ConversationsCallbackDeprecated.DATE) }
}
private fun openChat(conversation: VKConversation) {
@@ -234,17 +234,17 @@ class ConversationsPresenter(viewState: ConversationsView) :
val peerGroup = MemoryCache.getGroupById(conversation.conversationId)
val extras = Bundle().also {
it.putInt(MessagesActivity.TAG_EXTRA_ID, conversation.conversationId)
it.putInt(MessagesActivityDeprecated.TAG_EXTRA_ID, conversation.conversationId)
it.putString(
MessagesActivity.TAG_EXTRA_TITLE,
MessagesActivityDeprecated.TAG_EXTRA_TITLE,
VKUtil.getTitle(conversation, peerUser, peerGroup)
)
it.putString(
MessagesActivity.TAG_EXTRA_AVATAR,
MessagesActivityDeprecated.TAG_EXTRA_AVATAR,
VKUtil.getAvatar(conversation, peerUser, peerGroup)
)
it.putSerializable(MessagesActivity.TAG_EXTRA_USER, peerUser)
it.putSerializable(MessagesActivity.TAG_EXTRA_GROUP, peerGroup)
it.putSerializable(MessagesActivityDeprecated.TAG_EXTRA_USER, peerUser)
it.putSerializable(MessagesActivityDeprecated.TAG_EXTRA_GROUP, peerGroup)
}
post { viewState.openChat(extras) }
@@ -5,21 +5,21 @@ import android.util.Log
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.meloda.fast.activity.MessagesActivity
import com.meloda.fast.adapter.UsersAdapter
import com.meloda.fast.activity.MessagesActivityDeprecated
import com.meloda.fast.adapter.UsersAdapterDeprecated
import com.meloda.fast.api.model.VKUser
import com.meloda.fast.fragment.ui.repository.FriendsRepository
import com.meloda.fast.fragment.ui.view.FriendsView
import com.meloda.fast.fragment.ui.repository.FriendsRepositoryDeprecated
import com.meloda.fast.fragment.ui.view.FriendsViewDeprecated
import com.meloda.fast.listener.ItemClickListener
import com.meloda.fast.util.AndroidUtils
import com.meloda.fast.util.ArrayUtils
import com.meloda.mvp.MvpOnLoadListener
import com.meloda.mvp.MvpPresenter
class FriendsPresenter(viewState: FriendsView) :
MvpPresenter<VKUser, FriendsRepository, FriendsView>(
class FriendsPresenterDeprecated(viewState: FriendsViewDeprecated) :
MvpPresenter<VKUser, FriendsRepositoryDeprecated, FriendsViewDeprecated>(
viewState,
FriendsRepository::class.java.name
FriendsRepositoryDeprecated::class.java.name
),
ItemClickListener {
@@ -32,7 +32,7 @@ class FriendsPresenter(viewState: FriendsView) :
private var userId: Int = 0
private var friendsCount: Int = 0
private lateinit var adapter: UsersAdapter
private lateinit var adapter: UsersAdapterDeprecated
private lateinit var recyclerView: RecyclerView
private lateinit var layoutManager: LinearLayoutManager
@@ -51,12 +51,12 @@ class FriendsPresenter(viewState: FriendsView) :
getCachedFriends(userId, 0, DEFAULT_FRIENDS_COUNT, false, object : MvpOnLoadListener<Any?> {
override fun onResponse(response: Any?) {
setState(if (adapter.isEmpty()) MvpPresenter.ListState.EMPTY_LOADING else ListState.FILLED_LOADING)
loadFriends(userId, 0, ConversationsPresenter.DEFAULT_CONVERSATIONS_COUNT)
loadFriends(userId, 0, DEFAULT_FRIENDS_COUNT)
}
override fun onError(t: Throwable) {
setState(if (adapter.isEmpty()) ListState.EMPTY_LOADING else ListState.FILLED_LOADING)
loadFriends(userId, 0, ConversationsPresenter.DEFAULT_CONVERSATIONS_COUNT)
loadFriends(userId, 0, DEFAULT_FRIENDS_COUNT)
}
})
}
@@ -193,7 +193,7 @@ class FriendsPresenter(viewState: FriendsView) :
}
private fun createAdapter() {
adapter = UsersAdapter(context!!, arrayListOf()).also {
adapter = UsersAdapterDeprecated(context!!, arrayListOf()).also {
it.itemClickListener = this
}
@@ -219,9 +219,9 @@ class FriendsPresenter(viewState: FriendsView) :
val user = adapter[position]
val data = Bundle().apply {
putInt(MessagesActivity.TAG_EXTRA_ID, user.userId)
putString(MessagesActivity.TAG_EXTRA_TITLE, user.toString())
putString(MessagesActivity.TAG_EXTRA_AVATAR, user.photo200)
putInt(MessagesActivityDeprecated.TAG_EXTRA_ID, user.userId)
putString(MessagesActivityDeprecated.TAG_EXTRA_TITLE, user.toString())
putString(MessagesActivityDeprecated.TAG_EXTRA_AVATAR, user.photo200)
}
}
@@ -11,10 +11,10 @@ import androidx.core.view.isVisible
import androidx.fragment.app.setFragmentResultListener
import com.google.android.material.textfield.TextInputEditText
import com.meloda.fast.R
import com.meloda.fast.activity.MainActivity
import com.meloda.fast.activity.MainActivityDeprecated
import com.meloda.fast.api.UserConfig
import com.meloda.fast.extensions.FragmentExtensions.runOnUiThread
import com.meloda.fast.fragment.FragmentConversations
import com.meloda.fast.fragment.FragmentConversationsDeprecated
import com.meloda.fast.fragment.LoginFragment
import com.meloda.fast.fragment.ValidationFragment
import com.meloda.fast.fragment.ui.repository.LoginRepository
@@ -119,12 +119,12 @@ class LoginPresenter(
private fun openMainScreen() {
fragment.runOnUiThread {
(fragment.requireActivity() as MainActivity).bottomBar.isVisible = true
(fragment.requireActivity() as MainActivityDeprecated).bottomBar.isVisible = true
fragment.parentFragmentManager.beginTransaction()
.replace(
R.id.fragmentContainer,
FragmentConversations()
FragmentConversationsDeprecated()
).commit()
}
}
@@ -12,7 +12,7 @@ import com.meloda.fast.listener.OnResponseListener
import com.meloda.mvp.MvpOnLoadListener
import com.meloda.mvp.MvpRepository
class ConversationsRepository : MvpRepository<VKConversation>() {
class ConversationsRepositoryDeprecated : MvpRepository<VKConversation>() {
fun loadConversations(
offset: Int, count: Int,
@@ -10,7 +10,7 @@ import com.meloda.fast.listener.OnResponseListener
import com.meloda.mvp.MvpOnLoadListener
import com.meloda.mvp.MvpRepository
class FriendsRepository : MvpRepository<VKUser>() {
class FriendsRepositoryDeprecated : MvpRepository<VKUser>() {
fun loadFriends(
userId: Int,
@@ -3,7 +3,7 @@ package com.meloda.fast.fragment.ui.view
import android.os.Bundle
import com.meloda.mvp.MvpView
interface FriendsView : MvpView {
interface ConversationsViewDeprecated : MvpView {
fun openChat(extras: Bundle)
@@ -3,7 +3,7 @@ package com.meloda.fast.fragment.ui.view
import android.os.Bundle
import com.meloda.mvp.MvpView
interface ConversationsView : MvpView {
interface FriendsViewDeprecated : MvpView {
fun openChat(extras: Bundle)
+2 -2
View File
@@ -12,14 +12,14 @@
<FrameLayout
android:id="@+id/fragmentContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="48dp" />
android:layout_height="match_parent" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomBar"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_gravity="bottom"
android:visibility="gone"
app:backgroundTint="?colorPrimary"
app:elevation="0.5dp"
app:itemIconTint="@drawable/navigation_view_items_colors"
-15
View File
@@ -45,19 +45,4 @@
<item name="colorPrimaryDark">@color/dark_primaryDark</item>
</style>
<style name="AppTheme.Update" parent="Theme.MaterialComponents.NoActionBar.Bridge">
<item name="colorPrimaryDark">@android:color/white</item>
<item name="colorAccent">@color/dark_accent</item>
<item name="android:windowLightStatusBar">true</item>
</style>
<style name="AppTheme.Start" parent="Theme.MaterialComponents.NoActionBar.Bridge">
<item name="android:windowBackground">@color/dark_accent</item>
<item name="colorPrimaryDark">@color/dark_accent</item>
<item name="colorAccent">@color/dark_accent</item>
<item name="android:navigationBarColor">@color/dark_accent</item>
<item name="dialogCornerRadius">12dp</item>
<item name="android:windowAnimationStyle">@style/AppTheme.ActivityAnimation</item>
</style>
</resources>
-11
View File
@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme.Update" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
<item name="colorPrimaryDark">@android:color/white</item>
<item name="colorAccent">@color/accent</item>
<item name="android:navigationBarColor">@android:color/white</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:windowLightNavigationBar">true</item>
</style>
</resources>
-16
View File
@@ -80,26 +80,10 @@
<item name="android:layout_marginEnd">12dp</item>
</style>
<style name="AppTheme.Update" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
<item name="colorPrimaryDark">@android:color/white</item>
<item name="colorAccent">@color/accent</item>
<item name="android:windowLightStatusBar">true</item>
</style>
<style name="AppTheme.ProfileDialog" parent="Theme.MaterialComponents.Light.BottomSheetDialog">
<item name="colorAccent">@color/accent</item>
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>
</style>
<style name="AppTheme.Start" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
<item name="android:windowBackground">@color/accent</item>
<item name="colorPrimaryDark">@color/accent</item>
<item name="colorAccent">@color/accent</item>
<item name="android:navigationBarColor">@color/accent</item>
<item name="dialogCornerRadius">12dp</item>
<item name="android:windowAnimationStyle">@style/AppTheme.ActivityAnimation</item>
</style>
</resources>