forked from melod1n/fast-messenger
Dark theme
This commit is contained in:
+10
-4
@@ -6,10 +6,10 @@ plugins {
|
||||
|
||||
android {
|
||||
compileSdkVersion 30
|
||||
buildToolsVersion "30.0.3"
|
||||
buildToolsVersion "31.0.0-rc1"
|
||||
|
||||
defaultConfig {
|
||||
applicationId "ru.melod1n.project.vkm"
|
||||
applicationId "com.meloda.fast"
|
||||
minSdkVersion 23
|
||||
targetSdkVersion 30
|
||||
versionCode 1
|
||||
@@ -21,6 +21,10 @@ android {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
|
||||
debug {
|
||||
applicationIdSuffix '.debug'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
coreLibraryDesugaringEnabled true
|
||||
@@ -34,6 +38,8 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(name: 'mvp-debug', ext: 'aar')
|
||||
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1'
|
||||
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:${kotlin_version}"
|
||||
@@ -48,8 +54,8 @@ dependencies {
|
||||
implementation 'androidx.fragment:fragment-ktx:1.3.0'
|
||||
implementation 'com.google.android.material:material:1.3.0'
|
||||
|
||||
implementation 'androidx.room:room-runtime:2.3.0-beta01'
|
||||
kapt 'androidx.room:room-compiler:2.3.0-beta01'
|
||||
implementation 'androidx.room:room-runtime:2.3.0-beta02'
|
||||
kapt 'androidx.room:room-compiler:2.3.0-beta02'
|
||||
|
||||
implementation 'com.facebook.fresco:fresco:2.3.0'
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"version": 2,
|
||||
"artifactType": {
|
||||
"type": "APK",
|
||||
"kind": "Directory"
|
||||
},
|
||||
"applicationId": "ru.melod1n.project.vkm",
|
||||
"variantName": "processReleaseResources",
|
||||
"elements": [
|
||||
{
|
||||
"type": "SINGLE",
|
||||
"filters": [],
|
||||
"versionCode": 1,
|
||||
"versionName": "1.0",
|
||||
"outputFile": "app-release.apk"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,18 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="ru.melod1n.project.vkm">
|
||||
package="com.meloda.fast">
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
|
||||
<application
|
||||
android:name=".common.AppGlobal"
|
||||
android:name="com.meloda.fast.common.AppGlobal"
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme">
|
||||
<activity android:name=".activity.MainActivity">
|
||||
<activity android:name="com.meloda.fast.activity.MainActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
@@ -21,29 +21,29 @@
|
||||
</activity>
|
||||
|
||||
<service
|
||||
android:name=".service.LongPollService"
|
||||
android:name="com.meloda.fast.service.LongPollService"
|
||||
android:enabled="true" />
|
||||
|
||||
<activity android:name=".activity.MessagesActivity" />
|
||||
<activity android:name="com.meloda.fast.activity.MessagesActivity" />
|
||||
|
||||
<activity
|
||||
android:name=".activity.StartActivity"
|
||||
android:name="com.meloda.fast.activity.StartActivity"
|
||||
android:theme="@style/AppTheme.Start" />
|
||||
|
||||
<activity
|
||||
android:name=".activity.LoginActivity"
|
||||
android:name="com.meloda.fast.activity.LoginActivity"
|
||||
android:label="@string/activity_login" />
|
||||
|
||||
<activity android:name=".activity.DropUserDataActivity" />
|
||||
<activity android:name="com.meloda.fast.activity.DropUserDataActivity" />
|
||||
|
||||
<activity
|
||||
android:name=".activity.SettingsActivity"
|
||||
android:name="com.meloda.fast.activity.SettingsActivity"
|
||||
android:label="@string/navigation_settings" />
|
||||
|
||||
<activity android:name=".activity.UpdateActivity" />
|
||||
<activity android:name="com.meloda.fast.activity.UpdateActivity" />
|
||||
|
||||
<receiver
|
||||
android:name=".receiver.MinuteReceiver"
|
||||
android:name="com.meloda.fast.receiver.MinuteReceiver"
|
||||
android:enabled="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.ACTION_TIME_CHANGED" />
|
||||
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
package ru.melod1n.project.vkm.activity
|
||||
package com.meloda.fast.activity
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import ru.melod1n.project.vkm.base.BaseActivity
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import com.meloda.fast.api.UserConfig
|
||||
import com.meloda.fast.base.BaseActivity
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.common.TaskManager
|
||||
|
||||
class DropUserDataActivity : BaseActivity() {
|
||||
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.activity
|
||||
package com.meloda.fast.activity
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
@@ -10,14 +10,14 @@ import android.webkit.*
|
||||
import android.widget.ProgressBar
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import ru.melod1n.project.vkm.api.VKAuth
|
||||
import ru.melod1n.project.vkm.base.BaseActivity
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.color
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.drawable
|
||||
import ru.melod1n.project.vkm.extensions.DrawableExtensions.tint
|
||||
import ru.melod1n.project.vkm.widget.Toolbar
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.api.UserConfig
|
||||
import com.meloda.fast.api.VKAuth
|
||||
import com.meloda.fast.base.BaseActivity
|
||||
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.widget.Toolbar
|
||||
|
||||
class LoginActivity : BaseActivity() {
|
||||
|
||||
+23
-23
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.activity
|
||||
package com.meloda.fast.activity
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
@@ -9,28 +9,28 @@ import androidx.core.view.isVisible
|
||||
import androidx.drawerlayout.widget.DrawerLayout
|
||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
import com.google.android.material.navigation.NavigationView
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import ru.melod1n.project.vkm.api.VKApiKeys
|
||||
import ru.melod1n.project.vkm.api.model.VKUser
|
||||
import ru.melod1n.project.vkm.base.BaseActivity
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.FragmentSwitcher
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.common.TimeManager
|
||||
import ru.melod1n.project.vkm.dialog.AccountDialog
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.color
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.drawable
|
||||
import ru.melod1n.project.vkm.extensions.DrawableExtensions.tint
|
||||
import ru.melod1n.project.vkm.fragment.FragmentConversations
|
||||
import ru.melod1n.project.vkm.fragment.FragmentFriends
|
||||
import ru.melod1n.project.vkm.fragment.FragmentSettings
|
||||
import ru.melod1n.project.vkm.fragment.LoginFragment
|
||||
import ru.melod1n.project.vkm.listener.OnResponseListener
|
||||
import ru.melod1n.project.vkm.service.LongPollService
|
||||
import ru.melod1n.project.vkm.util.AndroidUtils
|
||||
import ru.melod1n.project.vkm.util.ViewUtils
|
||||
import ru.melod1n.project.vkm.widget.Toolbar
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.api.UserConfig
|
||||
import com.meloda.fast.api.VKApiKeys
|
||||
import com.meloda.fast.api.model.VKUser
|
||||
import com.meloda.fast.base.BaseActivity
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.common.FragmentSwitcher
|
||||
import com.meloda.fast.common.TaskManager
|
||||
import com.meloda.fast.common.TimeManager
|
||||
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.FragmentSettings
|
||||
import com.meloda.fast.fragment.LoginFragment
|
||||
import com.meloda.fast.listener.OnResponseListener
|
||||
import com.meloda.fast.service.LongPollService
|
||||
import com.meloda.fast.util.AndroidUtils
|
||||
import com.meloda.fast.util.ViewUtils
|
||||
import com.meloda.fast.widget.Toolbar
|
||||
|
||||
|
||||
class MainActivity : BaseActivity(),
|
||||
+19
-19
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.activity
|
||||
package com.meloda.fast.activity
|
||||
|
||||
import android.content.res.ColorStateList
|
||||
import android.graphics.Color
|
||||
@@ -14,24 +14,24 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import com.amulyakhare.textdrawable.TextDrawable
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.activity.ui.presenter.MessagesPresenter
|
||||
import ru.melod1n.project.vkm.activity.ui.view.MessagesView
|
||||
import ru.melod1n.project.vkm.api.model.VKConversation
|
||||
import ru.melod1n.project.vkm.api.model.VKGroup
|
||||
import ru.melod1n.project.vkm.api.model.VKModel
|
||||
import ru.melod1n.project.vkm.api.model.VKUser
|
||||
import ru.melod1n.project.vkm.base.BaseActivity
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.dialog.ProfileDialog
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.color
|
||||
import ru.melod1n.project.vkm.extensions.DrawableExtensions.tint
|
||||
import ru.melod1n.project.vkm.extensions.ImageViewExtensions.loadImage
|
||||
import ru.melod1n.project.vkm.fragment.FragmentSettings
|
||||
import ru.melod1n.project.vkm.util.KeyboardUtils
|
||||
import ru.melod1n.project.vkm.util.TextUtils
|
||||
import ru.melod1n.project.vkm.util.ViewUtils
|
||||
import ru.melod1n.project.vkm.widget.CircleImageView
|
||||
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.api.model.VKConversation
|
||||
import com.meloda.fast.api.model.VKGroup
|
||||
import com.meloda.fast.api.model.VKModel
|
||||
import com.meloda.fast.api.model.VKUser
|
||||
import com.meloda.fast.base.BaseActivity
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.dialog.ProfileDialog
|
||||
import com.meloda.fast.extensions.ContextExtensions.color
|
||||
import com.meloda.fast.extensions.DrawableExtensions.tint
|
||||
import com.meloda.fast.extensions.ImageViewExtensions.loadImage
|
||||
import com.meloda.fast.fragment.FragmentSettings
|
||||
import com.meloda.fast.util.KeyboardUtils
|
||||
import com.meloda.fast.util.TextUtils
|
||||
import com.meloda.fast.util.ViewUtils
|
||||
import com.meloda.fast.widget.CircleImageView
|
||||
|
||||
|
||||
class MessagesActivity : BaseActivity(), MessagesView {
|
||||
+9
-9
@@ -1,14 +1,14 @@
|
||||
package ru.melod1n.project.vkm.activity
|
||||
package com.meloda.fast.activity
|
||||
|
||||
import android.os.Bundle
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.base.BaseActivity
|
||||
import ru.melod1n.project.vkm.common.FragmentSwitcher
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.color
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.drawable
|
||||
import ru.melod1n.project.vkm.extensions.DrawableExtensions.tint
|
||||
import ru.melod1n.project.vkm.fragment.FragmentSettings
|
||||
import ru.melod1n.project.vkm.widget.Toolbar
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.base.BaseActivity
|
||||
import com.meloda.fast.common.FragmentSwitcher
|
||||
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.FragmentSettings
|
||||
import com.meloda.fast.widget.Toolbar
|
||||
|
||||
class SettingsActivity : BaseActivity() {
|
||||
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.activity
|
||||
package com.meloda.fast.activity
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
@@ -9,9 +9,9 @@ import android.widget.Toast
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.widget.AppCompatEditText
|
||||
import com.google.android.material.button.MaterialButton
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import ru.melod1n.project.vkm.base.BaseActivity
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.api.UserConfig
|
||||
import com.meloda.fast.base.BaseActivity
|
||||
|
||||
@SuppressLint("InflateParams")
|
||||
class StartActivity : BaseActivity() {
|
||||
+14
-14
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.activity
|
||||
package com.meloda.fast.activity
|
||||
|
||||
import android.app.Activity
|
||||
import android.app.DownloadManager
|
||||
@@ -18,19 +18,19 @@ import androidx.core.text.HtmlCompat
|
||||
import androidx.core.view.isVisible
|
||||
import com.github.rahatarmanahmed.cpv.CircularProgressView
|
||||
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
|
||||
import ru.melod1n.project.vkm.BuildConfig
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.base.BaseActivity
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.common.UpdateManager
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.drawable
|
||||
import ru.melod1n.project.vkm.extensions.FloatExtensions.int
|
||||
import ru.melod1n.project.vkm.listener.OnResponseListener
|
||||
import ru.melod1n.project.vkm.model.NewUpdateInfo
|
||||
import ru.melod1n.project.vkm.receiver.DownloadUpdateReceiver
|
||||
import ru.melod1n.project.vkm.util.AndroidUtils
|
||||
import ru.melod1n.project.vkm.util.TimeUtils
|
||||
import com.meloda.fast.BuildConfig
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.base.BaseActivity
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.common.TaskManager
|
||||
import com.meloda.fast.common.UpdateManager
|
||||
import com.meloda.fast.extensions.ContextExtensions.drawable
|
||||
import com.meloda.fast.extensions.FloatExtensions.int
|
||||
import com.meloda.fast.listener.OnResponseListener
|
||||
import com.meloda.fast.model.NewUpdateInfo
|
||||
import com.meloda.fast.receiver.DownloadUpdateReceiver
|
||||
import com.meloda.fast.util.AndroidUtils
|
||||
import com.meloda.fast.util.TimeUtils
|
||||
import java.io.File
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
+28
-27
@@ -1,24 +1,23 @@
|
||||
package ru.melod1n.project.vkm.activity.ui.presenter
|
||||
package com.meloda.fast.activity.ui.presenter
|
||||
|
||||
import android.content.Context
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.activity.ui.repository.MessagesRepository
|
||||
import ru.melod1n.project.vkm.activity.ui.view.MessagesView
|
||||
import ru.melod1n.project.vkm.adapter.MessagesAdapter
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import ru.melod1n.project.vkm.api.VKApiKeys
|
||||
import ru.melod1n.project.vkm.api.model.VKConversation
|
||||
import ru.melod1n.project.vkm.api.model.VKMessage
|
||||
import ru.melod1n.project.vkm.api.model.VKModel
|
||||
import ru.melod1n.project.vkm.base.mvp.MvpOnLoadListener
|
||||
import ru.melod1n.project.vkm.base.mvp.MvpPresenter
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.database.MemoryCache
|
||||
import ru.melod1n.project.vkm.event.EventInfo
|
||||
import ru.melod1n.project.vkm.listener.ItemClickListener
|
||||
import ru.melod1n.project.vkm.listener.ItemLongClickListener
|
||||
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.api.UserConfig
|
||||
import com.meloda.fast.api.VKApiKeys
|
||||
import com.meloda.fast.api.model.VKConversation
|
||||
import com.meloda.fast.api.model.VKMessage
|
||||
import com.meloda.fast.api.model.VKModel
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.common.TaskManager
|
||||
import com.meloda.fast.database.MemoryCache
|
||||
import com.meloda.fast.event.EventInfo
|
||||
import com.meloda.fast.listener.ItemClickListener
|
||||
import com.meloda.fast.listener.ItemLongClickListener
|
||||
import com.meloda.mvp.MvpOnLoadListener
|
||||
import com.meloda.mvp.MvpPresenter
|
||||
import kotlin.random.Random
|
||||
|
||||
class MessagesPresenter(viewState: MessagesView) :
|
||||
@@ -128,15 +127,17 @@ class MessagesPresenter(viewState: MessagesView) :
|
||||
private fun refreshConversation(conversation: VKConversation) {
|
||||
checkIsWritingAllowed(conversation)
|
||||
|
||||
repository.getChatInfo(conversation, object : MvpOnLoadListener<String> {
|
||||
override fun onResponse(response: String) {
|
||||
viewState.setChatInfo(response)
|
||||
}
|
||||
repository.getChatInfo(
|
||||
conversation,
|
||||
object : MvpOnLoadListener<String> {
|
||||
override fun onResponse(response: String) {
|
||||
viewState.setChatInfo(response)
|
||||
}
|
||||
|
||||
override fun onError(t: Throwable) {
|
||||
viewState.setChatInfo(AppGlobal.resources.getString(R.string.error_obtain_chat_info))
|
||||
}
|
||||
})
|
||||
override fun onError(t: Throwable) {
|
||||
viewState.setChatInfo(AppGlobal.resources.getString(R.string.error_obtain_chat_info))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
private fun checkIsWritingAllowed(conversation: VKConversation) {
|
||||
+17
-17
@@ -1,21 +1,21 @@
|
||||
package ru.melod1n.project.vkm.activity.ui.repository
|
||||
package com.meloda.fast.activity.ui.repository
|
||||
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.api.VKApi
|
||||
import ru.melod1n.project.vkm.api.VKApiKeys
|
||||
import ru.melod1n.project.vkm.api.model.VKConversation
|
||||
import ru.melod1n.project.vkm.api.model.VKGroup
|
||||
import ru.melod1n.project.vkm.api.model.VKMessage
|
||||
import ru.melod1n.project.vkm.api.model.VKUser
|
||||
import ru.melod1n.project.vkm.api.util.VKUtil
|
||||
import ru.melod1n.project.vkm.base.mvp.MvpOnLoadListener
|
||||
import ru.melod1n.project.vkm.base.mvp.MvpRepository
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.database.MemoryCache
|
||||
import ru.melod1n.project.vkm.extensions.ArrayExtensions.asArrayList
|
||||
import ru.melod1n.project.vkm.listener.OnResponseListener
|
||||
import ru.melod1n.project.vkm.util.ArrayUtils
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.api.VKApi
|
||||
import com.meloda.fast.api.VKApiKeys
|
||||
import com.meloda.fast.api.model.VKConversation
|
||||
import com.meloda.fast.api.model.VKGroup
|
||||
import com.meloda.fast.api.model.VKMessage
|
||||
import com.meloda.fast.api.model.VKUser
|
||||
import com.meloda.fast.api.util.VKUtil
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.common.TaskManager
|
||||
import com.meloda.fast.database.MemoryCache
|
||||
import com.meloda.fast.extensions.ArrayExtensions.asArrayList
|
||||
import com.meloda.fast.listener.OnResponseListener
|
||||
import com.meloda.fast.util.ArrayUtils
|
||||
import com.meloda.mvp.MvpOnLoadListener
|
||||
import com.meloda.mvp.MvpRepository
|
||||
import java.util.*
|
||||
|
||||
class MessagesRepository : MvpRepository<VKMessage>() {
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package ru.melod1n.project.vkm.activity.ui.view
|
||||
package com.meloda.fast.activity.ui.view
|
||||
|
||||
import ru.melod1n.project.vkm.api.model.VKConversation
|
||||
import ru.melod1n.project.vkm.base.mvp.MvpView
|
||||
import com.meloda.fast.api.model.VKConversation
|
||||
import com.meloda.mvp.MvpView
|
||||
|
||||
interface MessagesView : MvpView {
|
||||
|
||||
+23
-60
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.adapter
|
||||
package com.meloda.fast.adapter
|
||||
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
@@ -9,31 +9,31 @@ import android.text.style.ForegroundColorSpan
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.ImageView
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.adapter.diffutil.ConversationsCallback
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import ru.melod1n.project.vkm.api.VKApiKeys
|
||||
import ru.melod1n.project.vkm.api.model.VKConversation
|
||||
import ru.melod1n.project.vkm.api.model.VKGroup
|
||||
import ru.melod1n.project.vkm.api.model.VKMessage
|
||||
import ru.melod1n.project.vkm.api.model.VKUser
|
||||
import ru.melod1n.project.vkm.api.util.VKUtil
|
||||
import ru.melod1n.project.vkm.base.BaseAdapter
|
||||
import ru.melod1n.project.vkm.base.BaseHolder
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.database.MemoryCache
|
||||
import ru.melod1n.project.vkm.event.EventInfo
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.color
|
||||
import ru.melod1n.project.vkm.listener.OnResponseListener
|
||||
import ru.melod1n.project.vkm.widget.CircleImageView
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.adapter.diffutil.ConversationsCallback
|
||||
import com.meloda.fast.api.UserConfig
|
||||
import com.meloda.fast.api.VKApiKeys
|
||||
import com.meloda.fast.api.model.VKConversation
|
||||
import com.meloda.fast.api.model.VKGroup
|
||||
import com.meloda.fast.api.model.VKMessage
|
||||
import com.meloda.fast.api.model.VKUser
|
||||
import com.meloda.fast.api.util.VKUtil
|
||||
import com.meloda.fast.base.BaseAdapter
|
||||
import com.meloda.fast.base.BaseHolder
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.common.TaskManager
|
||||
import com.meloda.fast.database.MemoryCache
|
||||
import com.meloda.fast.event.EventInfo
|
||||
import com.meloda.fast.extensions.ContextExtensions.color
|
||||
import com.meloda.fast.listener.OnResponseListener
|
||||
import com.meloda.fast.widget.CircleImageView
|
||||
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
@@ -116,7 +116,7 @@ class ConversationsAdapter(
|
||||
private var date: TextView = v.findViewById(R.id.conversationDate)
|
||||
private var type: ImageView = v.findViewById(R.id.conversationType)
|
||||
private var userAvatar: ImageView = v.findViewById(R.id.conversationUserAvatar)
|
||||
private var root: LinearLayout = v.findViewById(R.id.conversationRoot)
|
||||
private var root: FrameLayout = v.findViewById(R.id.conversationRoot)
|
||||
|
||||
private val colorHighlight = context.color(R.color.accent)
|
||||
|
||||
@@ -285,25 +285,6 @@ class ConversationsAdapter(
|
||||
} else {
|
||||
userAvatar.setImageURI(Uri.parse(avatar))
|
||||
}
|
||||
|
||||
// ImageUtil.loadImage(
|
||||
// VKUtil.getUserAvatar(lastMessage, fromUser, fromGroup),
|
||||
// object : ImageUtil.OnLoadListener {
|
||||
// override fun onLoad(bitmap: Bitmap) {
|
||||
// userAvatar.setImageBitmap(bitmap)
|
||||
// }
|
||||
//
|
||||
// override fun onError(e: Exception) {
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// )
|
||||
|
||||
// ImageUtil.loadImage(
|
||||
// VKUtil.getUserAvatar(lastMessage, fromUser, fromGroup),
|
||||
// userAvatar,
|
||||
// placeholderNormal
|
||||
// )
|
||||
} else {
|
||||
userAvatar.isVisible = false
|
||||
userAvatar.setImageDrawable(null)
|
||||
@@ -325,32 +306,14 @@ class ConversationsAdapter(
|
||||
if (avatarLink.isNotEmpty()) {
|
||||
avatar.setImageURI(Uri.parse(avatarLink))
|
||||
}
|
||||
|
||||
// ImageUtil.loadImage(
|
||||
// VKUtil.getAvatar(conversation, peerUser, peerGroup),
|
||||
// object : ImageUtil.OnLoadListener {
|
||||
// override fun onLoad(bitmap: Bitmap) {
|
||||
// avatar.setImageBitmap(bitmap)
|
||||
// }
|
||||
//
|
||||
// override fun onError(e: Exception) {
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// )
|
||||
|
||||
// ImageUtil.loadImage(
|
||||
// VKUtil.getAvatar(conversation, peerUser, peerGroup),
|
||||
// avatar,
|
||||
// dialogAvatarPlaceholder
|
||||
// )
|
||||
}
|
||||
|
||||
private fun setDialogType(conversation: VKConversation) {
|
||||
val dDialogType = VKUtil.getDialogType(context, conversation)
|
||||
|
||||
type.setImageDrawable(dDialogType)
|
||||
type.isVisible = dDialogType != null
|
||||
// type.isVisible = dDialogType != null
|
||||
type.isVisible = false
|
||||
}
|
||||
|
||||
private fun prepareAttachments(lastMessage: VKMessage) {
|
||||
+27
-19
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.adapter
|
||||
package com.meloda.fast.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Typeface
|
||||
@@ -12,24 +12,24 @@ import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import ru.melod1n.project.vkm.BuildConfig
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.activity.MessagesActivity
|
||||
import ru.melod1n.project.vkm.api.VKApiKeys
|
||||
import ru.melod1n.project.vkm.api.model.*
|
||||
import ru.melod1n.project.vkm.api.util.VKUtil
|
||||
import ru.melod1n.project.vkm.base.BaseAdapter
|
||||
import ru.melod1n.project.vkm.base.BaseHolder
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.database.MemoryCache
|
||||
import ru.melod1n.project.vkm.event.EventInfo
|
||||
import ru.melod1n.project.vkm.extensions.FloatExtensions.int
|
||||
import ru.melod1n.project.vkm.listener.OnResponseListener
|
||||
import ru.melod1n.project.vkm.util.AndroidUtils
|
||||
import ru.melod1n.project.vkm.util.ImageUtils
|
||||
import ru.melod1n.project.vkm.widget.BoundedLinearLayout
|
||||
import ru.melod1n.project.vkm.widget.CircleImageView
|
||||
import com.meloda.fast.BuildConfig
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.activity.MessagesActivity
|
||||
import com.meloda.fast.api.VKApiKeys
|
||||
import com.meloda.fast.api.model.*
|
||||
import com.meloda.fast.api.util.VKUtil
|
||||
import com.meloda.fast.base.BaseAdapter
|
||||
import com.meloda.fast.base.BaseHolder
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.common.TaskManager
|
||||
import com.meloda.fast.database.MemoryCache
|
||||
import com.meloda.fast.event.EventInfo
|
||||
import com.meloda.fast.extensions.FloatExtensions.int
|
||||
import com.meloda.fast.listener.OnResponseListener
|
||||
import com.meloda.fast.util.AndroidUtils
|
||||
import com.meloda.fast.util.ImageUtils
|
||||
import com.meloda.fast.widget.BoundedLinearLayout
|
||||
import com.meloda.fast.widget.CircleImageView
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
import kotlin.math.abs
|
||||
@@ -384,6 +384,14 @@ class MessagesAdapter(
|
||||
val boundedWidth = screenWidth - screenWidth / 5
|
||||
bubble.maxWidth = boundedWidth
|
||||
|
||||
|
||||
|
||||
text.setTextColor(
|
||||
AndroidUtils.getThemeAttrColor(
|
||||
context,
|
||||
if (message.isOutbox()) R.attr.messageOutTextColor else R.attr.messageInTextColor
|
||||
)
|
||||
)
|
||||
text.text = VKUtil.matchMentions(message.text)
|
||||
}
|
||||
|
||||
+5
-5
@@ -1,14 +1,14 @@
|
||||
package ru.melod1n.project.vkm.adapter
|
||||
package com.meloda.fast.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.base.BaseAdapter
|
||||
import ru.melod1n.project.vkm.base.BaseHolder
|
||||
import ru.melod1n.project.vkm.item.SimpleMenuItem
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.base.BaseAdapter
|
||||
import com.meloda.fast.base.BaseHolder
|
||||
import com.meloda.fast.item.SimpleMenuItem
|
||||
import java.util.*
|
||||
|
||||
class SimpleItemAdapter(context: Context, values: ArrayList<SimpleMenuItem>) :
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.adapter
|
||||
package com.meloda.fast.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
@@ -7,14 +7,14 @@ import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.adapter.diffutil.UsersCallback
|
||||
import ru.melod1n.project.vkm.api.model.VKUser
|
||||
import ru.melod1n.project.vkm.api.util.VKUtil
|
||||
import ru.melod1n.project.vkm.base.BaseAdapter
|
||||
import ru.melod1n.project.vkm.base.BaseHolder
|
||||
import ru.melod1n.project.vkm.util.ImageUtils
|
||||
import ru.melod1n.project.vkm.widget.CircleImageView
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.adapter.diffutil.UsersCallback
|
||||
import com.meloda.fast.api.model.VKUser
|
||||
import com.meloda.fast.api.util.VKUtil
|
||||
import com.meloda.fast.base.BaseAdapter
|
||||
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) {
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package ru.melod1n.project.vkm.adapter.diffutil
|
||||
package com.meloda.fast.adapter.diffutil
|
||||
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import ru.melod1n.project.vkm.api.model.VKConversation
|
||||
import com.meloda.fast.api.model.VKConversation
|
||||
|
||||
class ConversationsCallback(
|
||||
private val oldList: List<VKConversation>,
|
||||
+4
-3
@@ -1,9 +1,10 @@
|
||||
package ru.melod1n.project.vkm.adapter.diffutil
|
||||
package com.meloda.fast.adapter.diffutil
|
||||
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import ru.melod1n.project.vkm.api.model.VKUser
|
||||
import com.meloda.fast.api.model.VKUser
|
||||
|
||||
class UsersCallback(private val oldList: List<VKUser>, private val newList: List<VKUser>) : DiffUtil.Callback() {
|
||||
class UsersCallback(private val oldList: List<VKUser>, private val newList: List<VKUser>) :
|
||||
DiffUtil.Callback() {
|
||||
|
||||
companion object {
|
||||
const val ONLINE = "online"
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api
|
||||
package com.meloda.fast.api
|
||||
|
||||
object ErrorCodes {
|
||||
const val UNKNOWN_ERROR = 1
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package ru.melod1n.project.vkm.api
|
||||
package com.meloda.fast.api
|
||||
|
||||
import android.text.TextUtils
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
|
||||
object UserConfig {
|
||||
|
||||
+14
-20
@@ -1,29 +1,27 @@
|
||||
package ru.melod1n.project.vkm.api
|
||||
package com.meloda.fast.api
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.util.Log
|
||||
import androidx.annotation.WorkerThread
|
||||
import com.meloda.fast.BuildConfig
|
||||
import com.meloda.fast.activity.DropUserDataActivity
|
||||
import com.meloda.fast.api.method.MessageMethodSetter
|
||||
import com.meloda.fast.api.method.MethodSetter
|
||||
import com.meloda.fast.api.method.UserMethodSetter
|
||||
import com.meloda.fast.api.model.*
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.common.TaskManager
|
||||
import com.meloda.fast.listener.OnResponseListener
|
||||
import com.meloda.fast.net.HttpRequest
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONObject
|
||||
import ru.melod1n.project.vkm.BuildConfig
|
||||
import ru.melod1n.project.vkm.activity.DropUserDataActivity
|
||||
import ru.melod1n.project.vkm.api.method.MessageMethodSetter
|
||||
import ru.melod1n.project.vkm.api.method.MethodSetter
|
||||
import ru.melod1n.project.vkm.api.method.UserMethodSetter
|
||||
import ru.melod1n.project.vkm.api.model.*
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.listener.OnResponseListener
|
||||
import ru.melod1n.project.vkm.net.HttpRequest
|
||||
import java.util.*
|
||||
import kotlin.collections.ArrayList
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
object VKApi {
|
||||
|
||||
private var context: Context? = null
|
||||
|
||||
private const val TAG = "VKM:VKApi"
|
||||
|
||||
const val BASE_URL = "https://api.vk.com/method/"
|
||||
@@ -32,10 +30,6 @@ object VKApi {
|
||||
|
||||
val language: String = AppGlobal.locale.language
|
||||
|
||||
fun init(context: Context) {
|
||||
this.context = context
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
fun <T> execute(url: String, cls: Class<T>?): ArrayList<T>? {
|
||||
@@ -286,9 +280,9 @@ object VKApi {
|
||||
val e = VKException(url, message, code)
|
||||
|
||||
if (code == 5 && message.contains("invalid session")) {
|
||||
context?.startActivity(Intent(context, DropUserDataActivity::class.java).apply {
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
})
|
||||
// context?.startActivity(Intent(context, DropUserDataActivity::class.java).apply {
|
||||
// addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
// })
|
||||
}
|
||||
|
||||
if (code == ErrorCodes.CAPTCHA_NEEDED) {
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api
|
||||
package com.meloda.fast.api
|
||||
|
||||
enum class VKApiKeys {
|
||||
READ_MESSAGE,
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
package ru.melod1n.project.vkm.api
|
||||
package com.meloda.fast.api
|
||||
|
||||
import android.util.Log
|
||||
import ru.melod1n.project.vkm.BuildConfig
|
||||
import ru.melod1n.project.vkm.api.util.VKUtil
|
||||
import com.meloda.fast.BuildConfig
|
||||
import com.meloda.fast.api.util.VKUtil
|
||||
import java.net.URLEncoder
|
||||
|
||||
object VKAuth {
|
||||
+3
-2
@@ -1,8 +1,9 @@
|
||||
package ru.melod1n.project.vkm.api
|
||||
package com.meloda.fast.api
|
||||
|
||||
import java.io.IOException
|
||||
|
||||
class VKException(var url: String, override var message: String, var code: Int) : IOException(message) {
|
||||
class VKException(var url: String, override var message: String, var code: Int) :
|
||||
IOException(message) {
|
||||
var captchaSid: String? = null
|
||||
var captchaImg: String? = null
|
||||
var redirectUri: String? = null
|
||||
+6
-6
@@ -1,13 +1,13 @@
|
||||
package ru.melod1n.project.vkm.api
|
||||
package com.meloda.fast.api
|
||||
|
||||
import android.util.Log
|
||||
import androidx.annotation.WorkerThread
|
||||
import com.meloda.fast.api.model.VKMessage
|
||||
import com.meloda.fast.api.util.VKUtil
|
||||
import com.meloda.fast.common.TaskManager
|
||||
import com.meloda.fast.database.MemoryCache
|
||||
import com.meloda.fast.event.EventInfo
|
||||
import org.json.JSONArray
|
||||
import ru.melod1n.project.vkm.api.model.VKMessage
|
||||
import ru.melod1n.project.vkm.api.util.VKUtil
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.database.MemoryCache
|
||||
import ru.melod1n.project.vkm.event.EventInfo
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
class VKLongPollParser {
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package ru.melod1n.project.vkm.api.method
|
||||
package com.meloda.fast.api.method
|
||||
|
||||
import ru.melod1n.project.vkm.util.ArrayUtils
|
||||
import com.meloda.fast.util.ArrayUtils
|
||||
|
||||
class MessageMethodSetter(name: String) : MethodSetter(name) {
|
||||
|
||||
+6
-6
@@ -1,12 +1,12 @@
|
||||
package ru.melod1n.project.vkm.api.method
|
||||
package com.meloda.fast.api.method
|
||||
|
||||
import android.util.ArrayMap
|
||||
import android.util.Log
|
||||
import ru.melod1n.project.vkm.BuildConfig
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import ru.melod1n.project.vkm.api.VKApi
|
||||
import ru.melod1n.project.vkm.listener.OnResponseListener
|
||||
import ru.melod1n.project.vkm.util.ArrayUtils
|
||||
import com.meloda.fast.BuildConfig
|
||||
import com.meloda.fast.api.UserConfig
|
||||
import com.meloda.fast.api.VKApi
|
||||
import com.meloda.fast.listener.OnResponseListener
|
||||
import com.meloda.fast.util.ArrayUtils
|
||||
import java.net.URLEncoder
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.method
|
||||
package com.meloda.fast.api.method
|
||||
|
||||
class UserMethodSetter(name: String) : MethodSetter(name) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONArray
|
||||
import java.util.*
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
class VKComment { //https://vk.com/dev/objects/comment
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import androidx.room.Embedded
|
||||
import androidx.room.Entity
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
import java.util.*
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
@@ -11,7 +11,7 @@ class VKFriend() {
|
||||
|
||||
var userId: Int = -1
|
||||
|
||||
constructor(friendId: Int, userId: Int): this() {
|
||||
constructor(friendId: Int, userId: Int) : this() {
|
||||
this.friendId = friendId
|
||||
this.userId = userId
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
import java.io.Serializable
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import java.util.*
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
class VKMarketAlbum { //https://vk.com/dev/objects/market_album
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
class VKMarketItem { //https://vk.com/dev/objects/market_item
|
||||
}
|
||||
+4
-4
@@ -1,10 +1,10 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import android.util.ArrayMap
|
||||
import androidx.room.*
|
||||
import com.meloda.fast.database.dao.converters.ArrayListToByteArrayConverter
|
||||
import com.meloda.fast.database.dao.converters.ForwardedConverter
|
||||
import org.json.JSONObject
|
||||
import ru.melod1n.project.vkm.database.dao.converters.ArrayListToByteArrayConverter
|
||||
import ru.melod1n.project.vkm.database.dao.converters.ForwardedConverter
|
||||
|
||||
@SuppressWarnings(RoomWarnings.PRIMARY_KEY_FROM_EMBEDDED_IS_DROPPED)
|
||||
@Entity(tableName = "messages")
|
||||
@@ -152,7 +152,7 @@ open class VKMessage() : VKModel() {
|
||||
}
|
||||
|
||||
fun getForwardedMessages() = ArrayList<VKMessage>().apply {
|
||||
for (model in fwdMessages) add(model as VKMessage)
|
||||
for (model in fwdMessages) add(model)
|
||||
}
|
||||
|
||||
fun isFromUser() = fromId > 0
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import androidx.room.Ignore
|
||||
import org.json.JSONObject
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
import java.util.*
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
import java.util.*
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import android.graphics.Color
|
||||
import org.json.JSONObject
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
import java.util.*
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
import org.json.JSONObject
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.model
|
||||
package com.meloda.fast.api.model
|
||||
|
||||
class VKWall { //https://vk.com/dev/objects/post
|
||||
}
|
||||
+14
-14
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.api.util
|
||||
package com.meloda.fast.api.util
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.drawable.Drawable
|
||||
@@ -6,20 +6,20 @@ import android.util.Log
|
||||
import androidx.annotation.WorkerThread
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.amulyakhare.textdrawable.TextDrawable
|
||||
import com.meloda.fast.BuildConfig
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.api.UserConfig
|
||||
import com.meloda.fast.api.VKApiKeys
|
||||
import com.meloda.fast.api.model.*
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.common.TaskManager
|
||||
import com.meloda.fast.database.MemoryCache
|
||||
import com.meloda.fast.extensions.ContextExtensions.color
|
||||
import com.meloda.fast.extensions.ContextExtensions.drawable
|
||||
import com.meloda.fast.extensions.StringExtensions.lowerCase
|
||||
import com.meloda.fast.listener.OnResponseListener
|
||||
import com.meloda.fast.util.TextUtils
|
||||
import org.json.JSONArray
|
||||
import ru.melod1n.project.vkm.BuildConfig
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import ru.melod1n.project.vkm.api.VKApiKeys
|
||||
import ru.melod1n.project.vkm.api.model.*
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.database.MemoryCache
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.color
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.drawable
|
||||
import ru.melod1n.project.vkm.extensions.StringExtensions.lowerCase
|
||||
import ru.melod1n.project.vkm.listener.OnResponseListener
|
||||
import ru.melod1n.project.vkm.util.TextUtils
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.*
|
||||
import java.util.regex.Pattern
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.base
|
||||
package com.meloda.fast.base
|
||||
|
||||
import android.view.View
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.base
|
||||
package com.meloda.fast.base
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
@@ -8,10 +8,10 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.AdapterView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.extensions.ArrayExtensions.asArrayList
|
||||
import ru.melod1n.project.vkm.listener.ItemClickListener
|
||||
import ru.melod1n.project.vkm.listener.ItemLongClickListener
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.extensions.ArrayExtensions.asArrayList
|
||||
import com.meloda.fast.listener.ItemClickListener
|
||||
import com.meloda.fast.listener.ItemLongClickListener
|
||||
import java.io.Serializable
|
||||
import java.util.*
|
||||
|
||||
+5
-3
@@ -1,9 +1,9 @@
|
||||
package ru.melod1n.project.vkm.base
|
||||
package com.meloda.fast.base
|
||||
|
||||
import androidx.annotation.IdRes
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.fragment.app.Fragment
|
||||
import ru.melod1n.project.vkm.activity.MainActivity
|
||||
import com.meloda.fast.activity.MainActivity
|
||||
|
||||
abstract class BaseFragment : Fragment() {
|
||||
|
||||
@@ -11,7 +11,9 @@ abstract class BaseFragment : Fragment() {
|
||||
val toolbar: Toolbar = requireView().findViewById(resId)
|
||||
|
||||
activity?.let {
|
||||
if (it is MainActivity && toolbar is ru.melod1n.project.vkm.widget.Toolbar) it.initToolbar(toolbar)
|
||||
if (it is MainActivity && toolbar is com.meloda.fast.widget.Toolbar) it.initToolbar(
|
||||
toolbar
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
package ru.melod1n.project.vkm.base
|
||||
package com.meloda.fast.base
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.ViewGroup
|
||||
import android.view.WindowManager
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import ru.melod1n.project.vkm.R
|
||||
import com.meloda.fast.R
|
||||
|
||||
abstract class BaseFullscreenDialog : DialogFragment() {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.base
|
||||
package com.meloda.fast.base
|
||||
|
||||
import android.view.View
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.meloda.fast.base
|
||||
|
||||
abstract class FragmentStackActivity : BaseActivity() {
|
||||
|
||||
|
||||
}
|
||||
+10
-12
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.common
|
||||
package com.meloda.fast.common
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.Application
|
||||
@@ -17,21 +17,20 @@ import androidx.core.content.pm.PackageInfoCompat
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.room.Room
|
||||
import com.facebook.drawee.backends.pipeline.Fresco
|
||||
import com.meloda.fast.BuildConfig
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.api.UserConfig
|
||||
import com.meloda.fast.database.AppDatabase
|
||||
import com.meloda.fast.database.MemoryCache
|
||||
import com.meloda.fast.fragment.FragmentSettings
|
||||
import com.meloda.fast.util.AndroidUtils
|
||||
import com.meloda.mvp.MvpBase
|
||||
import com.microsoft.appcenter.AppCenter
|
||||
import com.microsoft.appcenter.analytics.Analytics
|
||||
import com.microsoft.appcenter.crashes.Crashes
|
||||
import org.acra.ACRA
|
||||
import org.acra.ReportingInteractionMode
|
||||
import org.acra.annotation.ReportsCrashes
|
||||
import ru.melod1n.project.vkm.BuildConfig
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import ru.melod1n.project.vkm.api.VKApi
|
||||
import ru.melod1n.project.vkm.base.mvp.MvpBase
|
||||
import ru.melod1n.project.vkm.database.AppDatabase
|
||||
import ru.melod1n.project.vkm.database.MemoryCache
|
||||
import ru.melod1n.project.vkm.fragment.FragmentSettings
|
||||
import ru.melod1n.project.vkm.util.AndroidUtils
|
||||
import java.util.*
|
||||
|
||||
@SuppressLint("NonConstantResourceId")
|
||||
@@ -117,8 +116,6 @@ class AppGlobal : Application() {
|
||||
|
||||
UserConfig.restore()
|
||||
|
||||
VKApi.init(this)
|
||||
|
||||
MvpBase.init(handler)
|
||||
|
||||
fillMemoryCache()
|
||||
@@ -147,6 +144,7 @@ class AppGlobal : Application() {
|
||||
}
|
||||
|
||||
fun getNightMode(nightMode: Int = -1): Int {
|
||||
return AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
|
||||
val mode = if (nightMode != -1) nightMode else preferences.getString(
|
||||
FragmentSettings.KEY_THEME,
|
||||
"-1"
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
package ru.melod1n.project.vkm.common
|
||||
package com.meloda.fast.common
|
||||
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.fragment.FragmentConversations
|
||||
import ru.melod1n.project.vkm.fragment.FragmentFriends
|
||||
import ru.melod1n.project.vkm.fragment.FragmentImportant
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.fragment.FragmentConversations
|
||||
import com.meloda.fast.fragment.FragmentFriends
|
||||
import com.meloda.fast.fragment.FragmentImportant
|
||||
|
||||
object FragmentSwitcher {
|
||||
|
||||
+13
-13
@@ -1,18 +1,18 @@
|
||||
package ru.melod1n.project.vkm.common
|
||||
package com.meloda.fast.common
|
||||
|
||||
import android.util.Log
|
||||
import ru.melod1n.project.vkm.BuildConfig
|
||||
import ru.melod1n.project.vkm.api.VKApi
|
||||
import ru.melod1n.project.vkm.api.VKApiKeys
|
||||
import ru.melod1n.project.vkm.api.method.MethodSetter
|
||||
import ru.melod1n.project.vkm.api.model.VKConversation
|
||||
import ru.melod1n.project.vkm.api.model.VKGroup
|
||||
import ru.melod1n.project.vkm.api.model.VKMessage
|
||||
import ru.melod1n.project.vkm.api.model.VKUser
|
||||
import ru.melod1n.project.vkm.concurrent.LowThread
|
||||
import ru.melod1n.project.vkm.database.MemoryCache
|
||||
import ru.melod1n.project.vkm.event.EventInfo
|
||||
import ru.melod1n.project.vkm.listener.OnResponseListener
|
||||
import com.meloda.fast.BuildConfig
|
||||
import com.meloda.fast.api.VKApi
|
||||
import com.meloda.fast.api.VKApiKeys
|
||||
import com.meloda.fast.api.method.MethodSetter
|
||||
import com.meloda.fast.api.model.VKConversation
|
||||
import com.meloda.fast.api.model.VKGroup
|
||||
import com.meloda.fast.api.model.VKMessage
|
||||
import com.meloda.fast.api.model.VKUser
|
||||
import com.meloda.fast.concurrent.LowThread
|
||||
import com.meloda.fast.database.MemoryCache
|
||||
import com.meloda.fast.event.EventInfo
|
||||
import com.meloda.fast.listener.OnResponseListener
|
||||
import java.util.*
|
||||
import java.util.stream.Collectors
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package ru.melod1n.project.vkm.common
|
||||
package com.meloda.fast.common
|
||||
|
||||
import android.content.Context
|
||||
import android.content.IntentFilter
|
||||
import ru.melod1n.project.vkm.receiver.MinuteReceiver
|
||||
import com.meloda.fast.receiver.MinuteReceiver
|
||||
import java.util.*
|
||||
|
||||
object TimeManager {
|
||||
+4
-4
@@ -1,12 +1,12 @@
|
||||
package ru.melod1n.project.vkm.common
|
||||
package com.meloda.fast.common
|
||||
|
||||
import android.util.Log
|
||||
import androidx.collection.arrayMapOf
|
||||
import com.meloda.fast.BuildConfig
|
||||
import com.meloda.fast.model.NewUpdateInfo
|
||||
import com.meloda.fast.net.HttpRequest
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONObject
|
||||
import ru.melod1n.project.vkm.BuildConfig
|
||||
import ru.melod1n.project.vkm.model.NewUpdateInfo
|
||||
import ru.melod1n.project.vkm.net.HttpRequest
|
||||
|
||||
object UpdateManager {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.concurrent
|
||||
package com.meloda.fast.concurrent
|
||||
|
||||
import android.os.Process
|
||||
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package ru.melod1n.project.vkm.database
|
||||
package com.meloda.fast.database
|
||||
|
||||
import androidx.room.Database
|
||||
import androidx.room.RoomDatabase
|
||||
import ru.melod1n.project.vkm.api.model.*
|
||||
import ru.melod1n.project.vkm.database.dao.*
|
||||
import com.meloda.fast.api.model.*
|
||||
import com.meloda.fast.database.dao.*
|
||||
|
||||
@Database(
|
||||
entities = [VKConversation::class, VKMessage::class, VKUser::class, VKGroup::class, VKFriend::class],
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package ru.melod1n.project.vkm.database
|
||||
package com.meloda.fast.database
|
||||
|
||||
import android.util.SparseArray
|
||||
import androidx.annotation.WorkerThread
|
||||
import ru.melod1n.project.vkm.api.model.*
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import com.meloda.fast.api.model.*
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
|
||||
object MemoryCache {
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package ru.melod1n.project.vkm.database.dao
|
||||
package com.meloda.fast.database.dao
|
||||
|
||||
import androidx.room.*
|
||||
import ru.melod1n.project.vkm.api.model.VKConversation
|
||||
import com.meloda.fast.api.model.VKConversation
|
||||
|
||||
@Dao
|
||||
interface ConversationsDao {
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package ru.melod1n.project.vkm.database.dao
|
||||
package com.meloda.fast.database.dao
|
||||
|
||||
import androidx.room.*
|
||||
import ru.melod1n.project.vkm.api.model.VKFriend
|
||||
import com.meloda.fast.api.model.VKFriend
|
||||
|
||||
@Dao
|
||||
interface FriendsDao {
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package ru.melod1n.project.vkm.database.dao
|
||||
package com.meloda.fast.database.dao
|
||||
|
||||
import androidx.room.*
|
||||
import ru.melod1n.project.vkm.api.model.VKGroup
|
||||
import com.meloda.fast.api.model.VKGroup
|
||||
|
||||
@Dao
|
||||
interface GroupsDao {
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package ru.melod1n.project.vkm.database.dao
|
||||
package com.meloda.fast.database.dao
|
||||
|
||||
import androidx.room.*
|
||||
import ru.melod1n.project.vkm.api.model.VKMessage
|
||||
import com.meloda.fast.api.model.VKMessage
|
||||
|
||||
@Dao
|
||||
interface MessagesDao {
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package ru.melod1n.project.vkm.database.dao
|
||||
package com.meloda.fast.database.dao
|
||||
|
||||
import androidx.room.*
|
||||
import ru.melod1n.project.vkm.api.model.VKUser
|
||||
import com.meloda.fast.api.model.VKUser
|
||||
|
||||
@Dao
|
||||
interface UsersDao {
|
||||
+4
-4
@@ -1,9 +1,9 @@
|
||||
package ru.melod1n.project.vkm.database.dao.converters
|
||||
package com.meloda.fast.database.dao.converters
|
||||
|
||||
import androidx.room.TypeConverter
|
||||
import ru.melod1n.project.vkm.api.model.VKModel
|
||||
import ru.melod1n.project.vkm.extensions.ArrayExtensions.isNullOrEmpty
|
||||
import ru.melod1n.project.vkm.util.Utils
|
||||
import com.meloda.fast.api.model.VKModel
|
||||
import com.meloda.fast.extensions.ArrayExtensions.isNullOrEmpty
|
||||
import com.meloda.fast.util.Utils
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
class ArrayListToByteArrayConverter {
|
||||
+4
-4
@@ -1,9 +1,9 @@
|
||||
package ru.melod1n.project.vkm.database.dao.converters
|
||||
package com.meloda.fast.database.dao.converters
|
||||
|
||||
import androidx.room.TypeConverter
|
||||
import ru.melod1n.project.vkm.api.model.VKMessage
|
||||
import ru.melod1n.project.vkm.extensions.ArrayExtensions.isNullOrEmpty
|
||||
import ru.melod1n.project.vkm.util.Utils
|
||||
import com.meloda.fast.api.model.VKMessage
|
||||
import com.meloda.fast.extensions.ArrayExtensions.isNullOrEmpty
|
||||
import com.meloda.fast.util.Utils
|
||||
import java.util.*
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
+20
-18
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.dialog
|
||||
package com.meloda.fast.dialog
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
@@ -9,21 +9,23 @@ import android.widget.RelativeLayout
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.activity.SettingsActivity
|
||||
import ru.melod1n.project.vkm.adapter.SimpleItemAdapter
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import ru.melod1n.project.vkm.base.BaseFullscreenDialog
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.database.MemoryCache
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.color
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.drawable
|
||||
import ru.melod1n.project.vkm.extensions.DrawableExtensions.tint
|
||||
import ru.melod1n.project.vkm.extensions.FragmentExtensions.findViewById
|
||||
import ru.melod1n.project.vkm.item.SimpleMenuItem
|
||||
import ru.melod1n.project.vkm.listener.ItemClickListener
|
||||
import ru.melod1n.project.vkm.util.ViewUtils
|
||||
import ru.melod1n.project.vkm.widget.Toolbar
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.activity.SettingsActivity
|
||||
import com.meloda.fast.adapter.SimpleItemAdapter
|
||||
import com.meloda.fast.api.UserConfig
|
||||
import com.meloda.fast.base.BaseFullscreenDialog
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.database.MemoryCache
|
||||
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.extensions.FragmentExtensions.findViewById
|
||||
import com.meloda.fast.item.SimpleMenuItem
|
||||
import com.meloda.fast.listener.ItemClickListener
|
||||
import com.meloda.fast.util.AndroidUtils
|
||||
import com.meloda.fast.util.ColorUtils
|
||||
import com.meloda.fast.util.ViewUtils
|
||||
import com.meloda.fast.widget.Toolbar
|
||||
|
||||
class AccountDialog : BaseFullscreenDialog(), ItemClickListener {
|
||||
|
||||
@@ -61,7 +63,7 @@ class AccountDialog : BaseFullscreenDialog(), ItemClickListener {
|
||||
|
||||
private fun prepareToolbar() {
|
||||
toolbar.navigationIcon = requireContext().drawable(R.drawable.ic_close)
|
||||
.tint(requireContext().color(R.color.accent))
|
||||
.tint(ColorUtils.getColorAccent(requireContext()))
|
||||
|
||||
|
||||
toolbar.setTitle(R.string.account_dialog_title)
|
||||
@@ -88,7 +90,7 @@ class AccountDialog : BaseFullscreenDialog(), ItemClickListener {
|
||||
|
||||
SimpleMenuItem(
|
||||
requireContext().drawable(R.drawable.ic_settings_outline)
|
||||
.tint(requireContext().color(R.color.accent)),
|
||||
.tint(ColorUtils.getColorAccent(requireContext())),
|
||||
requireContext().getString(R.string.navigation_settings)
|
||||
) { openSettingsScreen() }.let { items.add(it) }
|
||||
|
||||
+7
-7
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.dialog
|
||||
package com.meloda.fast.dialog
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@@ -10,12 +10,12 @@ import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.adapter.SimpleItemAdapter
|
||||
import ru.melod1n.project.vkm.api.model.VKConversation
|
||||
import ru.melod1n.project.vkm.api.model.VKUser
|
||||
import ru.melod1n.project.vkm.database.MemoryCache
|
||||
import ru.melod1n.project.vkm.item.SimpleMenuItem
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.adapter.SimpleItemAdapter
|
||||
import com.meloda.fast.api.model.VKConversation
|
||||
import com.meloda.fast.api.model.VKUser
|
||||
import com.meloda.fast.database.MemoryCache
|
||||
import com.meloda.fast.item.SimpleMenuItem
|
||||
|
||||
open class ProfileDialog(
|
||||
private val conversation: VKConversation,
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.meloda.fast.event
|
||||
|
||||
import com.meloda.fast.api.VKApiKeys
|
||||
|
||||
class EventInfo<T> constructor(var key: VKApiKeys, var data: T? = null)
|
||||
+1
-3
@@ -1,6 +1,4 @@
|
||||
package ru.melod1n.project.vkm.extensions
|
||||
|
||||
import android.content.Context
|
||||
package com.meloda.fast.extensions
|
||||
|
||||
object ArrayExtensions {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.extensions
|
||||
package com.meloda.fast.extensions
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Typeface
|
||||
+1
-4
@@ -1,10 +1,7 @@
|
||||
package ru.melod1n.project.vkm.extensions
|
||||
package com.meloda.fast.extensions
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.drawable.Drawable
|
||||
import androidx.annotation.ColorInt
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.core.content.ContextCompat
|
||||
|
||||
object DrawableExtensions {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.extensions
|
||||
package com.meloda.fast.extensions
|
||||
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.extensions
|
||||
package com.meloda.fast.extensions
|
||||
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
@@ -10,7 +10,7 @@ object FragmentExtensions {
|
||||
}
|
||||
|
||||
fun Fragment.runOnUiThread(runnable: Runnable) {
|
||||
requireActivity().runOnUiThread(runnable)
|
||||
activity?.runOnUiThread(runnable)
|
||||
}
|
||||
|
||||
}
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
package ru.melod1n.project.vkm.extensions
|
||||
package com.meloda.fast.extensions
|
||||
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.util.Log
|
||||
import android.widget.ImageView
|
||||
import com.meloda.fast.BuildConfig
|
||||
import com.squareup.picasso.Callback
|
||||
import com.squareup.picasso.Picasso
|
||||
import ru.melod1n.project.vkm.BuildConfig
|
||||
|
||||
object ImageViewExtensions {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.extensions
|
||||
package com.meloda.fast.extensions
|
||||
|
||||
import java.util.*
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.extensions
|
||||
package com.meloda.fast.extensions
|
||||
|
||||
import android.widget.TextView
|
||||
import com.google.android.material.textfield.TextInputLayout
|
||||
+18
-23
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.fragment
|
||||
package com.meloda.fast.fragment
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
@@ -8,25 +8,26 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.ProgressBar
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.activity.MessagesActivity
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import ru.melod1n.project.vkm.api.VKApiKeys
|
||||
import ru.melod1n.project.vkm.base.BaseFragment
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.event.EventInfo
|
||||
import ru.melod1n.project.vkm.extensions.FragmentExtensions.findViewById
|
||||
import ru.melod1n.project.vkm.fragment.ui.presenter.ConversationsPresenter
|
||||
import ru.melod1n.project.vkm.fragment.ui.view.ConversationsView
|
||||
import ru.melod1n.project.vkm.util.ViewUtils
|
||||
import ru.melod1n.project.vkm.widget.Toolbar
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.activity.MessagesActivity
|
||||
import com.meloda.fast.api.UserConfig
|
||||
import com.meloda.fast.api.VKApiKeys
|
||||
import com.meloda.fast.base.BaseFragment
|
||||
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.extensions.FragmentExtensions.runOnUiThread
|
||||
import com.meloda.fast.fragment.ui.presenter.ConversationsPresenter
|
||||
import com.meloda.fast.fragment.ui.view.ConversationsView
|
||||
import com.meloda.fast.util.AndroidUtils
|
||||
import com.meloda.fast.util.ViewUtils
|
||||
import com.meloda.fast.widget.Toolbar
|
||||
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
@@ -99,15 +100,9 @@ class FragmentConversations : BaseFragment(), ConversationsView {
|
||||
val decoration = DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
|
||||
|
||||
decoration.setDrawable(
|
||||
ColorDrawable(
|
||||
ContextCompat.getColor(
|
||||
requireContext(),
|
||||
R.color.divider
|
||||
)
|
||||
)
|
||||
ColorDrawable(AndroidUtils.getThemeAttrColor(requireContext(), R.attr.dividerHorizontal))
|
||||
)
|
||||
|
||||
recyclerView.setHasFixedSize(true)
|
||||
recyclerView.itemAnimator = null
|
||||
recyclerView.addItemDecoration(decoration)
|
||||
|
||||
@@ -118,7 +113,7 @@ class FragmentConversations : BaseFragment(), ConversationsView {
|
||||
TaskManager.execute {
|
||||
AppGlobal.database.users.getById(UserConfig.userId)?.let {
|
||||
if (it.photo100.isNotEmpty()) {
|
||||
runOnUi {
|
||||
runOnUiThread {
|
||||
toolbar.getAvatar().setImageURI(it.photo100)
|
||||
}
|
||||
}
|
||||
+14
-14
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.fragment
|
||||
package com.meloda.fast.fragment
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
@@ -14,19 +14,19 @@ import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.activity.MessagesActivity
|
||||
import ru.melod1n.project.vkm.api.UserConfig
|
||||
import ru.melod1n.project.vkm.api.VKApiKeys
|
||||
import ru.melod1n.project.vkm.base.BaseFragment
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.event.EventInfo
|
||||
import ru.melod1n.project.vkm.extensions.FragmentExtensions.findViewById
|
||||
import ru.melod1n.project.vkm.fragment.ui.presenter.FriendsPresenter
|
||||
import ru.melod1n.project.vkm.fragment.ui.view.FriendsView
|
||||
import ru.melod1n.project.vkm.util.ViewUtils
|
||||
import ru.melod1n.project.vkm.widget.Toolbar
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.activity.MessagesActivity
|
||||
import com.meloda.fast.api.UserConfig
|
||||
import com.meloda.fast.api.VKApiKeys
|
||||
import com.meloda.fast.base.BaseFragment
|
||||
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.util.ViewUtils
|
||||
import com.meloda.fast.widget.Toolbar
|
||||
|
||||
class FragmentFriends(private val userId: Int = 0) : BaseFragment(), FriendsView {
|
||||
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
package ru.melod1n.project.vkm.fragment
|
||||
package com.meloda.fast.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.base.BaseFragment
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.base.BaseFragment
|
||||
|
||||
|
||||
class FragmentImportant : BaseFragment() {
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package ru.melod1n.project.vkm.fragment
|
||||
package com.meloda.fast.fragment
|
||||
|
||||
import ru.melod1n.project.vkm.base.BaseFragment
|
||||
import com.meloda.fast.base.BaseFragment
|
||||
|
||||
class FragmentSearch : BaseFragment() {
|
||||
inner class SearchConversations : BaseFragment()
|
||||
+10
-10
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.fragment
|
||||
package com.meloda.fast.fragment
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
@@ -6,15 +6,15 @@ import androidx.appcompat.app.AlertDialog
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.PreferenceScreen
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.activity.DropUserDataActivity
|
||||
import ru.melod1n.project.vkm.activity.UpdateActivity
|
||||
import ru.melod1n.project.vkm.base.BaseActivity
|
||||
import ru.melod1n.project.vkm.common.AppGlobal
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.color
|
||||
import ru.melod1n.project.vkm.extensions.ContextExtensions.drawable
|
||||
import ru.melod1n.project.vkm.util.AndroidUtils
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.activity.DropUserDataActivity
|
||||
import com.meloda.fast.activity.UpdateActivity
|
||||
import com.meloda.fast.base.BaseActivity
|
||||
import com.meloda.fast.common.AppGlobal
|
||||
import com.meloda.fast.common.TaskManager
|
||||
import com.meloda.fast.extensions.ContextExtensions.color
|
||||
import com.meloda.fast.extensions.ContextExtensions.drawable
|
||||
import com.meloda.fast.util.AndroidUtils
|
||||
|
||||
class FragmentSettings : PreferenceFragmentCompat(),
|
||||
Preference.OnPreferenceClickListener,
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.fragment
|
||||
package com.meloda.fast.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import android.text.Editable
|
||||
@@ -10,11 +10,11 @@ import android.view.ViewGroup
|
||||
import android.view.inputmethod.EditorInfo
|
||||
import android.widget.EditText
|
||||
import com.google.android.material.button.MaterialButton
|
||||
import ru.melod1n.project.vkm.R
|
||||
import ru.melod1n.project.vkm.base.BaseFragment
|
||||
import ru.melod1n.project.vkm.fragment.ui.presenter.LoginPresenter
|
||||
import ru.melod1n.project.vkm.fragment.ui.view.LoginView
|
||||
import ru.melod1n.project.vkm.util.KeyboardUtils
|
||||
import com.meloda.fast.R
|
||||
import com.meloda.fast.base.BaseFragment
|
||||
import com.meloda.fast.fragment.ui.presenter.LoginPresenter
|
||||
import com.meloda.fast.fragment.ui.view.LoginView
|
||||
import com.meloda.fast.util.KeyboardUtils
|
||||
|
||||
class LoginFragment : BaseFragment(), LoginView {
|
||||
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package ru.melod1n.project.vkm.fragment
|
||||
package com.meloda.fast.fragment
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import android.os.Bundle
|
||||
@@ -10,8 +10,8 @@ import android.webkit.CookieManager
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import androidx.core.os.bundleOf
|
||||
import ru.melod1n.project.vkm.api.VKAuth
|
||||
import ru.melod1n.project.vkm.base.BaseFragment
|
||||
import com.meloda.fast.api.VKAuth
|
||||
import com.meloda.fast.base.BaseFragment
|
||||
|
||||
|
||||
class ValidationFragment : BaseFragment() {
|
||||
+31
-30
@@ -1,28 +1,27 @@
|
||||
package ru.melod1n.project.vkm.fragment.ui.presenter
|
||||
package com.meloda.fast.fragment.ui.presenter
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import ru.melod1n.project.vkm.BuildConfig
|
||||
import ru.melod1n.project.vkm.activity.MessagesActivity
|
||||
import ru.melod1n.project.vkm.adapter.ConversationsAdapter
|
||||
import ru.melod1n.project.vkm.adapter.diffutil.ConversationsCallback
|
||||
import ru.melod1n.project.vkm.api.model.VKConversation
|
||||
import ru.melod1n.project.vkm.api.util.VKUtil
|
||||
import ru.melod1n.project.vkm.base.mvp.MvpOnLoadListener
|
||||
import ru.melod1n.project.vkm.base.mvp.MvpPresenter
|
||||
import ru.melod1n.project.vkm.common.TaskManager
|
||||
import ru.melod1n.project.vkm.common.TimeManager
|
||||
import ru.melod1n.project.vkm.database.MemoryCache
|
||||
import ru.melod1n.project.vkm.fragment.ui.repository.ConversationsRepository
|
||||
import ru.melod1n.project.vkm.fragment.ui.view.ConversationsView
|
||||
import ru.melod1n.project.vkm.listener.ItemClickListener
|
||||
import ru.melod1n.project.vkm.listener.ItemLongClickListener
|
||||
import ru.melod1n.project.vkm.util.AndroidUtils
|
||||
import ru.melod1n.project.vkm.util.ArrayUtils
|
||||
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.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.listener.ItemClickListener
|
||||
import com.meloda.fast.listener.ItemLongClickListener
|
||||
import com.meloda.fast.util.AndroidUtils
|
||||
import com.meloda.fast.util.ArrayUtils
|
||||
import com.meloda.mvp.MvpOnLoadListener
|
||||
import com.meloda.mvp.MvpPresenter
|
||||
import java.util.*
|
||||
|
||||
class ConversationsPresenter(viewState: ConversationsView) :
|
||||
@@ -52,24 +51,26 @@ class ConversationsPresenter(viewState: ConversationsView) :
|
||||
|
||||
prepareViews()
|
||||
|
||||
setRecyclerViewScrollListener(recyclerView)
|
||||
// setRecyclerViewScrollListener(recyclerView)
|
||||
setRefreshLayoutListener(refreshLayout)
|
||||
|
||||
createAdapter()
|
||||
|
||||
TimeManager.addOnMinuteChangeListener(this)
|
||||
|
||||
getCachedConversations(0, DEFAULT_CONVERSATIONS_COUNT, object : MvpOnLoadListener<Any?> {
|
||||
override fun onResponse(response: Any?) {
|
||||
setState(if (adapter.isEmpty()) ListState.EMPTY_LOADING else ListState.FILLED_LOADING)
|
||||
loadConversations(0, DEFAULT_CONVERSATIONS_COUNT)
|
||||
}
|
||||
loadConversations(0, DEFAULT_CONVERSATIONS_COUNT)
|
||||
|
||||
override fun onError(t: Throwable) {
|
||||
setState(if (adapter.isEmpty()) ListState.EMPTY_LOADING else ListState.FILLED_LOADING)
|
||||
loadConversations(0, DEFAULT_CONVERSATIONS_COUNT)
|
||||
}
|
||||
})
|
||||
// getCachedConversations(0, DEFAULT_CONVERSATIONS_COUNT, object : MvpOnLoadListener<Any?> {
|
||||
// override fun onResponse(response: Any?) {
|
||||
// setState(if (adapter.isEmpty()) ListState.EMPTY_LOADING else ListState.FILLED_LOADING)
|
||||
// loadConversations(0, DEFAULT_CONVERSATIONS_COUNT)
|
||||
// }
|
||||
//
|
||||
// override fun onError(t: Throwable) {
|
||||
// setState(if (adapter.isEmpty()) ListState.EMPTY_LOADING else ListState.FILLED_LOADING)
|
||||
// loadConversations(0, DEFAULT_CONVERSATIONS_COUNT)
|
||||
// }
|
||||
// })
|
||||
}
|
||||
|
||||
private fun setRecyclerViewScrollListener(recyclerView: RecyclerView) {
|
||||
+21
-15
@@ -1,21 +1,20 @@
|
||||
package ru.melod1n.project.vkm.fragment.ui.presenter
|
||||
package com.meloda.fast.fragment.ui.presenter
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import ru.melod1n.project.vkm.activity.MessagesActivity
|
||||
import ru.melod1n.project.vkm.adapter.UsersAdapter
|
||||
import ru.melod1n.project.vkm.api.model.VKUser
|
||||
import ru.melod1n.project.vkm.base.mvp.MvpOnLoadListener
|
||||
import ru.melod1n.project.vkm.base.mvp.MvpPresenter
|
||||
import ru.melod1n.project.vkm.fragment.ui.repository.FriendsRepository
|
||||
import ru.melod1n.project.vkm.fragment.ui.view.FriendsView
|
||||
import ru.melod1n.project.vkm.listener.ItemClickListener
|
||||
import ru.melod1n.project.vkm.util.AndroidUtils
|
||||
import ru.melod1n.project.vkm.util.ArrayUtils
|
||||
import com.meloda.fast.activity.MessagesActivity
|
||||
import com.meloda.fast.adapter.UsersAdapter
|
||||
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.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>(
|
||||
@@ -51,7 +50,7 @@ class FriendsPresenter(viewState: FriendsView) :
|
||||
|
||||
getCachedFriends(userId, 0, DEFAULT_FRIENDS_COUNT, false, object : MvpOnLoadListener<Any?> {
|
||||
override fun onResponse(response: Any?) {
|
||||
setState(if (adapter.isEmpty()) ListState.EMPTY_LOADING else ListState.FILLED_LOADING)
|
||||
setState(if (adapter.isEmpty()) MvpPresenter.ListState.EMPTY_LOADING else ListState.FILLED_LOADING)
|
||||
loadFriends(userId, 0, ConversationsPresenter.DEFAULT_CONVERSATIONS_COUNT)
|
||||
}
|
||||
|
||||
@@ -71,7 +70,11 @@ class FriendsPresenter(viewState: FriendsView) :
|
||||
) {
|
||||
setState(if (adapter.isEmpty()) ListState.EMPTY_LOADING else ListState.FILLED_LOADING)
|
||||
|
||||
repository.getCachedFriends(userId, offset, count, onlyOnline,
|
||||
repository.getCachedFriends(
|
||||
userId,
|
||||
offset,
|
||||
count,
|
||||
onlyOnline,
|
||||
object : MvpOnLoadListener<ArrayList<VKUser>> {
|
||||
override fun onResponse(response: ArrayList<VKUser>) {
|
||||
val friends = ArrayUtils.cut(response, offset, count)
|
||||
@@ -105,7 +108,10 @@ class FriendsPresenter(viewState: FriendsView) :
|
||||
setState(if (adapter.isEmpty()) ListState.EMPTY_LOADING else ListState.FILLED_LOADING)
|
||||
}
|
||||
|
||||
repository.loadFriends(userId, offset, count,
|
||||
repository.loadFriends(
|
||||
userId,
|
||||
offset,
|
||||
count,
|
||||
object : MvpOnLoadListener<ArrayList<VKUser>> {
|
||||
override fun onResponse(response: ArrayList<VKUser>) {
|
||||
friendsCount = VKUser.friendsCount
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user