Ver código fonte

Migrated to androidx

Vadik Sirekanyan 6 anos atrás
pai
commit
05214efd0d
39 arquivos alterados com 87 adições e 84 exclusões
  1. 5 6
      app/build.gradle.kts
  2. 1 1
      app/src/main/java/com/sirekanyan/knigopis/common/BaseActivity.kt
  3. 1 1
      app/src/main/java/com/sirekanyan/knigopis/common/android/StringResource.kt
  4. 1 1
      app/src/main/java/com/sirekanyan/knigopis/common/android/adapter/CommonViewHolder.kt
  5. 2 2
      app/src/main/java/com/sirekanyan/knigopis/common/android/adapter/HeadedAdapter.kt
  6. 1 1
      app/src/main/java/com/sirekanyan/knigopis/common/android/adapter/SimpleItemCallback.kt
  7. 1 1
      app/src/main/java/com/sirekanyan/knigopis/common/android/dialog/DialogFactory.kt
  8. 1 1
      app/src/main/java/com/sirekanyan/knigopis/common/android/dialog/DialogItem.kt
  9. 2 2
      app/src/main/java/com/sirekanyan/knigopis/common/android/header/HeaderItemDecoration.java
  10. 5 5
      app/src/main/java/com/sirekanyan/knigopis/common/android/permissions/Permissions.kt
  11. 1 1
      app/src/main/java/com/sirekanyan/knigopis/common/extensions/CommonView.kt
  12. 1 1
      app/src/main/java/com/sirekanyan/knigopis/common/extensions/Context.kt
  13. 4 4
      app/src/main/java/com/sirekanyan/knigopis/common/extensions/View.kt
  14. 1 1
      app/src/main/java/com/sirekanyan/knigopis/common/extensions/ViewGroup.kt
  15. 1 1
      app/src/main/java/com/sirekanyan/knigopis/common/functions/ErrorHandler.kt
  16. 1 0
      app/src/main/java/com/sirekanyan/knigopis/feature/MainActivity.kt
  17. 1 1
      app/src/main/java/com/sirekanyan/knigopis/feature/MainView.kt
  18. 1 1
      app/src/main/java/com/sirekanyan/knigopis/feature/book/BookView.kt
  19. 1 1
      app/src/main/java/com/sirekanyan/knigopis/feature/books/BookItemCallback.kt
  20. 1 1
      app/src/main/java/com/sirekanyan/knigopis/feature/books/BooksView.kt
  21. 1 1
      app/src/main/java/com/sirekanyan/knigopis/feature/books/FabOnScrollListener.kt
  22. 4 3
      app/src/main/java/com/sirekanyan/knigopis/feature/login/LoginActivity.kt
  23. 1 1
      app/src/main/java/com/sirekanyan/knigopis/feature/login/LoginView.kt
  24. 1 1
      app/src/main/java/com/sirekanyan/knigopis/feature/notes/NotesAdapter.kt
  25. 1 1
      app/src/main/java/com/sirekanyan/knigopis/feature/profile/ProfileView.kt
  26. 1 1
      app/src/main/java/com/sirekanyan/knigopis/feature/user/UserView.kt
  27. 1 1
      app/src/main/java/com/sirekanyan/knigopis/feature/user/behavior/SimpleBehavior.kt
  28. 1 1
      app/src/main/java/com/sirekanyan/knigopis/feature/users/UsersAdapter.kt
  29. 1 1
      app/src/main/java/com/sirekanyan/knigopis/model/CurrentTab.kt
  30. 2 2
      app/src/main/java/com/sirekanyan/knigopis/model/SocialNetwork.kt
  31. 3 3
      app/src/main/res/layout/activity_main.xml
  32. 15 15
      app/src/main/res/layout/book_edit.xml
  33. 3 3
      app/src/main/res/layout/books_page.xml
  34. 3 3
      app/src/main/res/layout/default_app_bar.xml
  35. 2 2
      app/src/main/res/layout/notes_page.xml
  36. 1 1
      app/src/main/res/layout/profile_activity.xml
  37. 9 9
      app/src/main/res/layout/user_activity.xml
  38. 2 2
      app/src/main/res/layout/users_page.xml
  39. 2 0
      gradle.properties

+ 5 - 6
app/build.gradle.kts

@@ -35,12 +35,10 @@ dependencies {
     // kotlin standard library
     implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.50")
 
-    // support libraries
-    implementation("com.android.support:appcompat-v7:28.0.0")
-    implementation("com.android.support:design:28.0.0")
-    implementation("com.android.support:support-vector-drawable:28.0.0")
-    implementation("com.android.support.constraint:constraint-layout:1.1.3")
-    implementation("com.android.support:customtabs:28.0.0")
+    // androidx libraries
+    implementation("androidx.appcompat:appcompat:1.1.0")
+    implementation("androidx.constraintlayout:constraintlayout:1.1.3")
+    implementation("androidx.browser:browser:1.0.0")
 
     // rxjava
     implementation("io.reactivex.rxjava2:rxjava:2.2.5")
@@ -54,6 +52,7 @@ dependencies {
     implementation("com.squareup.okhttp3:logging-interceptor:4.2.0")
 
     // etc
+    implementation("com.google.android.material:material:1.0.0")
     implementation("com.github.bumptech.glide:glide:4.8.0")
     implementation(files("libs/ulogin-sdk-v1.1.aar"))
 }

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/common/BaseActivity.kt

@@ -1,6 +1,6 @@
 package com.sirekanyan.knigopis.common
 
-import android.support.v7.app.AppCompatActivity
+import androidx.appcompat.app.AppCompatActivity
 import io.reactivex.Completable
 import io.reactivex.Single
 import io.reactivex.disposables.CompositeDisposable

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/common/android/StringResource.kt

@@ -1,7 +1,7 @@
 package com.sirekanyan.knigopis.common.android
 
-import android.support.annotation.StringRes
 import android.widget.TextView
+import androidx.annotation.StringRes
 
 interface StringResource {
     fun setValueTo(view: TextView)

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/common/android/adapter/CommonViewHolder.kt

@@ -1,7 +1,7 @@
 package com.sirekanyan.knigopis.common.android.adapter
 
-import android.support.v7.widget.RecyclerView
 import android.view.View
+import androidx.recyclerview.widget.RecyclerView
 
 abstract class CommonViewHolder<T>(view: View) : RecyclerView.ViewHolder(view) {
 

+ 2 - 2
app/src/main/java/com/sirekanyan/knigopis/common/android/adapter/HeadedAdapter.kt

@@ -1,8 +1,8 @@
 package com.sirekanyan.knigopis.common.android.adapter
 
-import android.support.v7.recyclerview.extensions.ListAdapter
-import android.support.v7.util.DiffUtil
 import android.view.ViewGroup
+import androidx.recyclerview.widget.DiffUtil
+import androidx.recyclerview.widget.ListAdapter
 
 abstract class HeadedAdapter<T : HeadedModel>(
     itemCallback: DiffUtil.ItemCallback<T>

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/common/android/adapter/SimpleItemCallback.kt

@@ -1,6 +1,6 @@
 package com.sirekanyan.knigopis.common.android.adapter
 
-import android.support.v7.util.DiffUtil.ItemCallback
+import androidx.recyclerview.widget.DiffUtil.ItemCallback
 
 class SimpleItemCallback<T>(private val getId: (T) -> String) : ItemCallback<T>() {
 

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/common/android/dialog/DialogFactory.kt

@@ -1,8 +1,8 @@
 package com.sirekanyan.knigopis.common.android.dialog
 
 import android.content.Context
-import android.support.design.widget.BottomSheetDialog
 import android.view.View
+import com.google.android.material.bottomsheet.BottomSheetDialog
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.extensions.inflate
 import kotlinx.android.synthetic.main.bottom_sheet_dialog_item.view.*

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/common/android/dialog/DialogItem.kt

@@ -1,6 +1,6 @@
 package com.sirekanyan.knigopis.common.android.dialog
 
-import android.support.annotation.DrawableRes
+import androidx.annotation.DrawableRes
 import com.sirekanyan.knigopis.common.android.StringResource
 
 class DialogItem(

+ 2 - 2
app/src/main/java/com/sirekanyan/knigopis/common/android/header/HeaderItemDecoration.java

@@ -1,11 +1,11 @@
 package com.sirekanyan.knigopis.common.android.header;
 
 import android.graphics.Canvas;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
 
 /**
  * https://stackoverflow.com/questions/32949971

+ 5 - 5
app/src/main/java/com/sirekanyan/knigopis/common/android/permissions/Permissions.kt

@@ -2,12 +2,12 @@ package com.sirekanyan.knigopis.common.android.permissions
 
 import android.content.pm.PackageManager.PERMISSION_DENIED
 import android.content.pm.PackageManager.PERMISSION_GRANTED
-import android.support.design.widget.Snackbar
-import android.support.v4.app.ActivityCompat
-import android.support.v4.content.ContextCompat
-import android.support.v7.app.AlertDialog
-import android.support.v7.app.AppCompatActivity
 import android.view.View
+import androidx.appcompat.app.AlertDialog
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.app.ActivityCompat
+import androidx.core.content.ContextCompat
+import com.google.android.material.snackbar.Snackbar
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.android.permissions.Permissions.Callback
 import com.sirekanyan.knigopis.common.functions.createAppSettingsIntent

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/common/extensions/CommonView.kt

@@ -1,6 +1,6 @@
 package com.sirekanyan.knigopis.common.extensions
 
-import android.support.design.widget.Snackbar
+import com.google.android.material.snackbar.Snackbar
 import com.sirekanyan.knigopis.common.android.toast.CommonView
 
 fun CommonView.toast(messageId: Int, vararg args: Any) {

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/common/extensions/Context.kt

@@ -4,9 +4,9 @@ import android.content.ClipboardManager
 import android.content.Context
 import android.content.Intent
 import android.net.ConnectivityManager
-import android.support.annotation.StringRes
 import android.view.inputmethod.InputMethodManager
 import android.widget.Toast
+import androidx.annotation.StringRes
 import com.sirekanyan.knigopis.R
 
 var isDarkTheme = false

+ 4 - 4
app/src/main/java/com/sirekanyan/knigopis/common/extensions/View.kt

@@ -1,10 +1,10 @@
 package com.sirekanyan.knigopis.common.extensions
 
-import android.support.annotation.DimenRes
-import android.support.v4.view.ViewCompat
-import android.support.v4.view.animation.FastOutLinearInInterpolator
-import android.support.v4.view.animation.LinearOutSlowInInterpolator
 import android.view.View
+import androidx.annotation.DimenRes
+import androidx.core.view.ViewCompat
+import androidx.interpolator.view.animation.FastOutLinearInInterpolator
+import androidx.interpolator.view.animation.LinearOutSlowInInterpolator
 
 val View.isVisible get() = visibility == View.VISIBLE
 

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/common/extensions/ViewGroup.kt

@@ -1,8 +1,8 @@
 package com.sirekanyan.knigopis.common.extensions
 
-import android.support.annotation.LayoutRes
 import android.view.LayoutInflater
 import android.view.ViewGroup
+import androidx.annotation.LayoutRes
 
 inline fun <reified T> ViewGroup.inflate(@LayoutRes layout: Int) =
     LayoutInflater.from(context).inflate(layout, this, false) as T

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/common/functions/ErrorHandler.kt

@@ -1,8 +1,8 @@
 package com.sirekanyan.knigopis.common.functions
 
-import android.support.v7.widget.RecyclerView
 import android.view.View
 import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.extensions.isVisible
 import com.sirekanyan.knigopis.common.extensions.show

+ 1 - 0
app/src/main/java/com/sirekanyan/knigopis/feature/MainActivity.kt

@@ -86,6 +86,7 @@ class MainActivity : BaseActivity(),
     }
 
     override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
         when (requestCode) {
             BOOK_REQUEST_CODE -> {
                 if (resultCode == RESULT_OK) {

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/feature/MainView.kt

@@ -1,9 +1,9 @@
 package com.sirekanyan.knigopis.feature
 
 import android.content.Context.MODE_PRIVATE
-import android.support.v7.app.AlertDialog
 import android.view.MenuItem
 import android.view.View
+import androidx.appcompat.app.AlertDialog
 import com.sirekanyan.knigopis.BuildConfig
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.extensions.hide

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/feature/book/BookView.kt

@@ -1,9 +1,9 @@
 package com.sirekanyan.knigopis.feature.book
 
-import android.support.annotation.StringRes
 import android.view.MenuItem
 import android.view.View
 import android.widget.SeekBar
+import androidx.annotation.StringRes
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.android.toast.CommonView
 import com.sirekanyan.knigopis.common.extensions.*

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/feature/books/BookItemCallback.kt

@@ -1,6 +1,6 @@
 package com.sirekanyan.knigopis.feature.books
 
-import android.support.v7.util.DiffUtil
+import androidx.recyclerview.widget.DiffUtil
 import com.sirekanyan.knigopis.model.BookDataModel
 import com.sirekanyan.knigopis.model.BookHeaderModel
 import com.sirekanyan.knigopis.model.BookModel

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/feature/books/BooksView.kt

@@ -1,7 +1,7 @@
 package com.sirekanyan.knigopis.feature.books
 
-import android.support.v7.app.AlertDialog
 import android.view.View
+import androidx.appcompat.app.AlertDialog
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.android.dialog.DialogFactory
 import com.sirekanyan.knigopis.common.android.dialog.createDialogItem

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/feature/books/FabOnScrollListener.kt

@@ -1,9 +1,9 @@
 package com.sirekanyan.knigopis.feature.books
 
 import android.content.res.Resources
-import android.support.v7.widget.RecyclerView
 import android.view.View
 import android.view.animation.DecelerateInterpolator
+import androidx.recyclerview.widget.RecyclerView
 import com.sirekanyan.knigopis.R
 
 class FabOnScrollListener(resources: Resources, fab: View) : RecyclerView.OnScrollListener() {

+ 4 - 3
app/src/main/java/com/sirekanyan/knigopis/feature/login/LoginActivity.kt

@@ -7,9 +7,9 @@ import android.content.Intent.ACTION_VIEW
 import android.content.Intent.FLAG_ACTIVITY_NO_HISTORY
 import android.net.Uri
 import android.os.Bundle
-import android.support.customtabs.CustomTabsIntent
-import android.support.v4.content.ContextCompat
-import android.support.v7.app.AppCompatActivity
+import androidx.appcompat.app.AppCompatActivity
+import androidx.browser.customtabs.CustomTabsIntent
+import androidx.core.content.ContextCompat
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.android.permissions.PermissionResult
 import com.sirekanyan.knigopis.common.extensions.app
@@ -61,6 +61,7 @@ class LoginActivity : AppCompatActivity(), LoginPresenter.Router {
     }
 
     override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
         when (requestCode) {
             LOGIN_REQUEST_CODE -> {
                 if (resultCode == RESULT_OK && data != null) {

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/feature/login/LoginView.kt

@@ -1,8 +1,8 @@
 package com.sirekanyan.knigopis.feature.login
 
-import android.support.v7.app.AlertDialog
 import android.view.View
 import android.view.ViewGroup
+import androidx.appcompat.app.AlertDialog
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.extensions.inflate
 import kotlinx.android.extensions.LayoutContainer

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/feature/notes/NotesAdapter.kt

@@ -1,7 +1,7 @@
 package com.sirekanyan.knigopis.feature.notes
 
-import android.support.v7.recyclerview.extensions.ListAdapter
 import android.view.ViewGroup
+import androidx.recyclerview.widget.ListAdapter
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.android.adapter.SimpleItemCallback
 import com.sirekanyan.knigopis.common.extensions.inflate

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/feature/profile/ProfileView.kt

@@ -1,10 +1,10 @@
 package com.sirekanyan.knigopis.feature.profile
 
-import android.support.v7.widget.Toolbar
 import android.view.MenuItem
 import android.view.View
 import android.view.animation.AccelerateInterpolator
 import android.view.inputmethod.EditorInfo
+import androidx.appcompat.widget.Toolbar
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.android.toast.CommonView
 import com.sirekanyan.knigopis.common.extensions.*

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/feature/user/UserView.kt

@@ -1,8 +1,8 @@
 package com.sirekanyan.knigopis.feature.user
 
-import android.support.v7.widget.LinearLayoutManager
 import android.view.MenuItem
 import android.view.View
+import androidx.recyclerview.widget.LinearLayoutManager
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.android.dialog.DialogFactory
 import com.sirekanyan.knigopis.common.android.dialog.createDialogItem

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/feature/user/behavior/SimpleBehavior.kt

@@ -1,9 +1,9 @@
 package com.sirekanyan.knigopis.feature.user.behavior
 
 import android.content.Context
-import android.support.design.widget.CoordinatorLayout
 import android.util.AttributeSet
 import android.view.View
+import androidx.coordinatorlayout.widget.CoordinatorLayout
 import com.sirekanyan.knigopis.R.styleable.*
 
 @Suppress("unused")

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/feature/users/UsersAdapter.kt

@@ -1,7 +1,7 @@
 package com.sirekanyan.knigopis.feature.users
 
-import android.support.v7.recyclerview.extensions.ListAdapter
 import android.view.ViewGroup
+import androidx.recyclerview.widget.ListAdapter
 import com.sirekanyan.knigopis.R
 import com.sirekanyan.knigopis.common.android.adapter.SimpleItemCallback
 import com.sirekanyan.knigopis.common.extensions.inflate

+ 1 - 1
app/src/main/java/com/sirekanyan/knigopis/model/CurrentTab.kt

@@ -1,6 +1,6 @@
 package com.sirekanyan.knigopis.model
 
-import android.support.annotation.IdRes
+import androidx.annotation.IdRes
 import com.sirekanyan.knigopis.R
 
 enum class CurrentTab(@IdRes val itemId: Int) {

+ 2 - 2
app/src/main/java/com/sirekanyan/knigopis/model/SocialNetwork.kt

@@ -1,8 +1,8 @@
 package com.sirekanyan.knigopis.model
 
 import android.net.Uri
-import android.support.annotation.DrawableRes
-import android.support.annotation.StringRes
+import androidx.annotation.DrawableRes
+import androidx.annotation.StringRes
 import com.sirekanyan.knigopis.R
 
 fun Uri.toSocialNetwork() = SocialNetwork.values().find { it.host == host }

+ 3 - 3
app/src/main/res/layout/activity_main.xml

@@ -10,7 +10,7 @@
 
     <include layout="@layout/default_app_bar" />
 
-    <android.support.v4.widget.SwipeRefreshLayout
+    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
         android:id="@+id/swipeRefresh"
         android:layout_width="match_parent"
         android:layout_height="0dp"
@@ -43,9 +43,9 @@
 
         </FrameLayout>
 
-    </android.support.v4.widget.SwipeRefreshLayout>
+    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
 
-    <android.support.design.widget.BottomNavigationView
+    <com.google.android.material.bottomnavigation.BottomNavigationView
         android:id="@+id/bottomNavigation"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"

+ 15 - 15
app/src/main/res/layout/book_edit.xml

@@ -14,13 +14,13 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
-        <android.support.constraint.ConstraintLayout
+        <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:animateLayoutChanges="true"
             android:focusableInTouchMode="true">
 
-            <android.support.design.widget.TextInputLayout
+            <com.google.android.material.textfield.TextInputLayout
                 android:id="@+id/book_title_input"
                 style="@style/TextInputLayoutStyle"
                 android:layout_width="0dp"
@@ -39,9 +39,9 @@
                     tools:ignore="LabelFor"
                     tools:text="Два капитана" />
 
-            </android.support.design.widget.TextInputLayout>
+            </com.google.android.material.textfield.TextInputLayout>
 
-            <android.support.design.widget.TextInputLayout
+            <com.google.android.material.textfield.TextInputLayout
                 android:id="@+id/book_author_input"
                 style="@style/TextInputLayoutStyle"
                 android:layout_width="0dp"
@@ -60,7 +60,7 @@
                     tools:ignore="LabelFor"
                     tools:text="Вениамин Каверин" />
 
-            </android.support.design.widget.TextInputLayout>
+            </com.google.android.material.textfield.TextInputLayout>
 
             <ImageView
                 android:id="@+id/bookImage"
@@ -86,7 +86,7 @@
                 app:layout_constraintTop_toBottomOf="@id/book_author_input"
                 tools:text="20%" />
 
-            <android.support.v7.widget.AppCompatSeekBar
+            <androidx.appcompat.widget.AppCompatSeekBar
                 android:id="@+id/progressSeekBar"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -96,7 +96,7 @@
                 app:layout_constraintTop_toBottomOf="@id/book_author_input"
                 tools:progress="20" />
 
-            <android.support.design.widget.TextInputLayout
+            <com.google.android.material.textfield.TextInputLayout
                 android:id="@+id/bookYearInput"
                 style="@style/TextInputLayoutStyle"
                 android:layout_width="0dp"
@@ -115,9 +115,9 @@
                     tools:ignore="LabelFor"
                     tools:text="2012" />
 
-            </android.support.design.widget.TextInputLayout>
+            </com.google.android.material.textfield.TextInputLayout>
 
-            <android.support.design.widget.TextInputLayout
+            <com.google.android.material.textfield.TextInputLayout
                 android:id="@+id/bookMonthInput"
                 style="@style/TextInputLayoutStyle"
                 android:layout_width="0dp"
@@ -134,9 +134,9 @@
                     android:inputType="number"
                     tools:ignore="LabelFor" />
 
-            </android.support.design.widget.TextInputLayout>
+            </com.google.android.material.textfield.TextInputLayout>
 
-            <android.support.design.widget.TextInputLayout
+            <com.google.android.material.textfield.TextInputLayout
                 android:id="@+id/bookDayInput"
                 style="@style/TextInputLayoutStyle"
                 android:layout_width="0dp"
@@ -153,9 +153,9 @@
                     android:inputType="number"
                     tools:ignore="LabelFor" />
 
-            </android.support.design.widget.TextInputLayout>
+            </com.google.android.material.textfield.TextInputLayout>
 
-            <android.support.v7.widget.AppCompatEditText
+            <androidx.appcompat.widget.AppCompatEditText
                 android:id="@+id/notesTextArea"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -172,7 +172,7 @@
                 app:layout_constraintTop_toBottomOf="@id/bookYearInput"
                 tools:text="Неистово плюсую" />
 
-            <android.support.constraint.Group
+            <androidx.constraintlayout.widget.Group
                 android:id="@+id/bookDateInputGroup"
                 android:layout_width="0dp"
                 android:layout_height="0dp"
@@ -180,7 +180,7 @@
                 app:constraint_referenced_ids="bookYearInput,bookMonthInput,bookDayInput"
                 tools:visibility="visible" />
 
-        </android.support.constraint.ConstraintLayout>
+        </androidx.constraintlayout.widget.ConstraintLayout>
 
     </ScrollView>
 

+ 3 - 3
app/src/main/res/layout/books_page.xml

@@ -6,13 +6,13 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <android.support.v7.widget.RecyclerView
+    <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/booksRecyclerView"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:clipToPadding="false"
         android:paddingTop="0.1dp"
-        app:layoutManager="android.support.v7.widget.LinearLayoutManager"
+        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
         tools:listitem="@layout/book" />
 
     <TextView
@@ -24,7 +24,7 @@
         style="@style/PlaceholderStyle"
         android:text="@string/books.error.empty" />
 
-    <android.support.design.widget.FloatingActionButton
+    <com.google.android.material.floatingactionbutton.FloatingActionButton
         android:id="@+id/addBookButton"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"

+ 3 - 3
app/src/main/res/layout/default_app_bar.xml

@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
-<android.support.design.widget.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<com.google.android.material.appbar.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/app_bar_layout"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:theme="@style/AppBarTheme">
 
-    <android.support.v7.widget.Toolbar
+    <androidx.appcompat.widget.Toolbar
         android:id="@+id/toolbar"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         app:popupTheme="?attr/toolbar_popup_theme"
         app:title="@string/common.title.app" />
 
-</android.support.design.widget.AppBarLayout>
+</com.google.android.material.appbar.AppBarLayout>

+ 2 - 2
app/src/main/res/layout/notes_page.xml

@@ -6,13 +6,13 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <android.support.v7.widget.RecyclerView
+    <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/notesRecyclerView"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:clipToPadding="false"
         android:paddingTop="8dp"
-        app:layoutManager="android.support.v7.widget.LinearLayoutManager"
+        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
         tools:listitem="@layout/note" />
 
     <TextView

+ 1 - 1
app/src/main/res/layout/profile_activity.xml

@@ -8,7 +8,7 @@
     android:orientation="vertical"
     tools:ignore="ContentDescription">
 
-    <android.support.v7.widget.Toolbar
+    <androidx.appcompat.widget.Toolbar
         android:id="@+id/profileToolbar"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"

+ 9 - 9
app/src/main/res/layout/user_activity.xml

@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="utf-8"?>
-<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     tools:context=".feature.user.UserActivity">
 
-    <android.support.design.widget.AppBarLayout
+    <com.google.android.material.appbar.AppBarLayout
         android:id="@+id/app_bar"
         android:layout_width="match_parent"
         android:layout_height="@dimen/app_bar_height"
         android:theme="@style/AppBarTheme">
 
-        <android.support.design.widget.CollapsingToolbarLayout
+        <com.google.android.material.appbar.CollapsingToolbarLayout
             android:id="@+id/toolbar_layout"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
@@ -24,7 +24,7 @@
             app:layout_scrollFlags="scroll|exitUntilCollapsed"
             app:toolbarId="@+id/toolbar">
 
-            <android.support.v7.widget.Toolbar
+            <androidx.appcompat.widget.Toolbar
                 android:id="@+id/toolbar"
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/toolbar_height"
@@ -32,9 +32,9 @@
                 app:popupTheme="?attr/toolbar_popup_theme"
                 app:titleMarginStart="@dimen/title_start_margin_collapsed" />
 
-        </android.support.design.widget.CollapsingToolbarLayout>
+        </com.google.android.material.appbar.CollapsingToolbarLayout>
 
-    </android.support.design.widget.AppBarLayout>
+    </com.google.android.material.appbar.AppBarLayout>
 
     <ImageView
         android:id="@+id/userImage"
@@ -54,7 +54,7 @@
         app:toY="8dp"
         tools:ignore="ContentDescription" />
 
-    <android.support.v7.widget.RecyclerView
+    <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/userBooksRecyclerView"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -77,7 +77,7 @@
         android:layout_marginTop="56dp"
         android:text="@string/common.error.network" />
 
-    <android.support.design.widget.FloatingActionButton
+    <com.google.android.material.floatingactionbutton.FloatingActionButton
         android:id="@+id/fab"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
@@ -89,4 +89,4 @@
         app:layout_anchorGravity="bottom|end"
         app:srcCompat="@drawable/ic_person_add" />
 
-</android.support.design.widget.CoordinatorLayout>
+</androidx.coordinatorlayout.widget.CoordinatorLayout>

+ 2 - 2
app/src/main/res/layout/users_page.xml

@@ -6,14 +6,14 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <android.support.v7.widget.RecyclerView
+    <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/usersRecyclerView"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:clipToPadding="false"
         android:paddingBottom="8dp"
         android:paddingTop="8dp"
-        app:layoutManager="android.support.v7.widget.LinearLayoutManager"
+        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
         tools:listitem="@layout/user" />
 
     <TextView

+ 2 - 0
gradle.properties

@@ -1 +1,3 @@
 org.gradle.jvmargs=-Xmx1536m
+android.useAndroidX=true
+android.enableJetifier=true