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