Procházet zdrojové kódy

Upgrade support library. Switch gradle build tools and AS to 2.0. Adapt code to new support lib

len před 10 roky
rodič
revize
67c4781376
26 změnil soubory, kde provedl 40 přidání a 59 odebrání
  1. 3 3
      app/build.gradle
  2. 4 4
      app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt
  3. 4 5
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersFragment.kt
  4. 1 2
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoFragment.kt
  5. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonReader.kt
  6. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralFragment.kt
  7. 9 0
      app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsNestedFragment.kt
  8. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSourcesFragment.kt
  9. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSyncFragment.kt
  10. 8 9
      app/src/main/java/eu/kanade/tachiyomi/util/ImageViewExtensions.kt
  11. 4 7
      app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginPreference.kt
  12. binární
      app/src/main/res/drawable-hdpi/reader_background_checkbox_selected.png
  13. binární
      app/src/main/res/drawable-hdpi/reader_background_checkbox_unselected.png
  14. binární
      app/src/main/res/drawable-ldpi/reader_background_checkbox_selected.png
  15. binární
      app/src/main/res/drawable-ldpi/reader_background_checkbox_unselected.png
  16. binární
      app/src/main/res/drawable-mdpi/reader_background_checkbox_selected.png
  17. binární
      app/src/main/res/drawable-mdpi/reader_background_checkbox_unselected.png
  18. binární
      app/src/main/res/drawable-xxhdpi/reader_background_checkbox_selected.png
  19. binární
      app/src/main/res/drawable-xxhdpi/reader_background_checkbox_unselected.png
  20. binární
      app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_selected.png
  21. binární
      app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_unselected.png
  22. 0 9
      app/src/main/res/drawable/ic_reader_background_checkbox_black_24dp.xml
  23. 0 9
      app/src/main/res/drawable/ic_reader_background_checkbox_white_24dp.xml
  24. 2 2
      app/src/main/res/drawable/reader_background_checkbox.xml
  25. 0 4
      app/src/main/res/layout/reader_popup.xml
  26. 1 1
      build.gradle

+ 3 - 3
app/build.gradle

@@ -25,12 +25,12 @@ ext {
 }
 
 def includeUpdater() {
-    return hasProperty("include_updater");
+    return hasProperty("include_updater")
 }
 
 android {
     compileSdkVersion 23
-    buildToolsVersion "23.0.2"
+    buildToolsVersion "23.0.3"
     publishNonDefault true
 
     defaultConfig {
@@ -88,7 +88,7 @@ kapt {
 }
 
 dependencies {
-    final SUPPORT_LIBRARY_VERSION = '23.2.1'
+    final SUPPORT_LIBRARY_VERSION = '23.3.0'
     final DAGGER_VERSION = '2.2'
     final OKHTTP_VERSION = '3.2.0'
     final RETROFIT_VERSION = '2.0.1'

+ 4 - 4
app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt

@@ -17,7 +17,7 @@ import eu.kanade.tachiyomi.ui.library.LibraryFragment
 import eu.kanade.tachiyomi.ui.recent.RecentChaptersFragment
 import eu.kanade.tachiyomi.ui.setting.SettingsActivity
 import eu.kanade.tachiyomi.util.getResourceColor
-import eu.kanade.tachiyomi.util.setDrawableCompat
+import eu.kanade.tachiyomi.util.setVectorCompat
 import kotlinx.android.synthetic.main.activity_main.*
 import kotlinx.android.synthetic.main.toolbar.*
 
@@ -57,7 +57,7 @@ class MainActivity : BaseActivity() {
         // Set behavior of Navigation drawer
         nav_view.setNavigationItemSelectedListener { item ->
             // Make information view invisible
-            image_view.setDrawableCompat(null)
+            image_view.setImageResource(android.R.color.transparent)
             text_label.text = ""
 
             when (item.itemId) {
@@ -93,10 +93,10 @@ class MainActivity : BaseActivity() {
 
     fun updateEmptyView(show: Boolean, textResource: Int, drawable: Int) {
         if (show) {
-            image_view.setDrawableCompat(drawable)
+            image_view.setVectorCompat(drawable, theme.getResourceColor(android.R.attr.textColorHint))
             text_label.text = getString(textResource)
         } else {
-            image_view.setDrawableCompat(null)
+            image_view.setImageResource(android.R.color.transparent)
             text_label.text = ""
         }
     }

+ 4 - 5
app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersFragment.kt

@@ -77,9 +77,8 @@ class ChaptersFragment : BaseRxFragment<ChaptersPresenter>(), ActionMode.Callbac
             val chapter = presenter.getNextUnreadChapter()
             if (chapter != null) {
                 // Create animation listener
-                var revealAnimationListener: Animator.AnimatorListener = object : AnimatorListenerAdapter() {
-                    override fun onAnimationEnd(animation: Animator) {
-                        // On done open chapter
+                val revealAnimationListener: Animator.AnimatorListener = object : AnimatorListenerAdapter() {
+                    override fun onAnimationStart(animation: Animator?) {
                         openChapter(chapter, true)
                     }
                 }
@@ -109,7 +108,7 @@ class ChaptersFragment : BaseRxFragment<ChaptersPresenter>(), ActionMode.Callbac
         // Check if animation view is visible
         if (reveal_view.visibility == View.VISIBLE) {
             // Show the unReveal effect
-            var coordinates = fab.getCoordinates()
+            val coordinates = fab.getCoordinates()
             reveal_view.hideRevealEffect(coordinates.x, coordinates.y, 1920)
         }
         super.onResume()
@@ -184,7 +183,7 @@ class ChaptersFragment : BaseRxFragment<ChaptersPresenter>(), ActionMode.Callbac
     val isCatalogueManga: Boolean
         get() = (activity as MangaActivity).isCatalogueManga
 
-    protected fun openChapter(chapter: Chapter, hasAnimation: Boolean = false) {
+    fun openChapter(chapter: Chapter, hasAnimation: Boolean = false) {
         presenter.onOpenChapter(chapter)
         val intent = ReaderActivity.newIntent(activity)
         if (hasAnimation) {

+ 1 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoFragment.kt

@@ -8,7 +8,6 @@ import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.data.source.base.Source
 import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment
-import eu.kanade.tachiyomi.util.setDrawableCompat
 import kotlinx.android.synthetic.main.fragment_manga_info.*
 import nucleus.factory.RequiresPresenter
 
@@ -137,7 +136,7 @@ class MangaInfoFragment : BaseRxFragment<MangaInfoPresenter>() {
     private fun setFavoriteDrawable(isFavorite: Boolean) {
         // Set the Favorite drawable to the correct one.
         // Border drawable if false, filled drawable if true.
-        fab_favorite.setDrawableCompat(if (isFavorite)
+        fab_favorite.setImageResource(if (isFavorite)
             R.drawable.ic_bookmark_white_24dp
         else
             R.drawable.ic_bookmark_border_white_24dp)

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonReader.kt

@@ -110,7 +110,7 @@ class WebtoonReader : BaseReader() {
     }
 
     override fun onSaveInstanceState(outState: Bundle) {
-        val savedPosition = pages[layoutManager.findFirstVisibleItemPosition()].pageNumber
+        val savedPosition = pages.getOrNull(layoutManager.findFirstVisibleItemPosition())?.pageNumber ?: 0
         outState.putInt(SAVED_POSITION, savedPosition)
         super.onSaveInstanceState(outState)
     }

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralFragment.kt

@@ -74,7 +74,7 @@ class SettingsGeneralFragment : SettingsNestedFragment() {
         if (preference === columnsPreference) {
             val fragment = LibraryColumnsDialog.newInstance(preference)
             fragment.setTargetFragment(this, 0)
-            fragment.show(childFragmentManager, null)
+            fragment.show(fragmentManagerCompat, null)
         } else {
             super.onDisplayPreferenceDialog(preference)
         }

+ 9 - 0
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsNestedFragment.kt

@@ -1,5 +1,7 @@
 package eu.kanade.tachiyomi.ui.setting
 
+import android.app.FragmentManager
+import android.os.Build
 import android.os.Bundle
 import android.support.v14.preference.PreferenceFragment
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
@@ -40,4 +42,11 @@ open class SettingsNestedFragment : PreferenceFragment() {
 
     val preferences: PreferencesHelper
         get() = settingsActivity.preferences
+
+    val fragmentManagerCompat: FragmentManager
+        get() = if (Build.VERSION.SDK_INT >= 17) {
+            childFragmentManager
+        } else {
+            fragmentManager
+        }
 }

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSourcesFragment.kt

@@ -71,7 +71,7 @@ class SettingsSourcesFragment : SettingsNestedFragment() {
             setOnPreferenceClickListener {
                 val fragment = SourceLoginDialog.newInstance(source)
                 fragment.setTargetFragment(this@SettingsSourcesFragment, SOURCE_CHANGE_REQUEST)
-                fragment.show(childFragmentManager, null)
+                fragment.show(fragmentManagerCompat, null)
                 true
             }
 

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSyncFragment.kt

@@ -33,7 +33,7 @@ class SettingsSyncFragment : SettingsNestedFragment() {
                 setOnPreferenceClickListener {
                     val fragment = MangaSyncLoginDialog.newInstance(sync)
                     fragment.setTargetFragment(this@SettingsSyncFragment, SYNC_CHANGE_REQUEST)
-                    fragment.show(childFragmentManager, null)
+                    fragment.show(fragmentManagerCompat, null)
                     true
                 }
             }

+ 8 - 9
app/src/main/java/eu/kanade/tachiyomi/util/ImageViewExtensions.kt

@@ -1,21 +1,20 @@
 package eu.kanade.tachiyomi.util
 
 import android.support.annotation.DrawableRes
+import android.support.graphics.drawable.VectorDrawableCompat
 import android.support.v4.content.ContextCompat
 import android.support.v4.graphics.drawable.DrawableCompat
 import android.widget.ImageView
 
 /**
- * Set a drawable on a [ImageView] using [ContextCompat] for backwards compatibility.
+ * Set a vector on a [ImageView].
  *
  * @param drawable id of drawable resource
  */
-fun ImageView.setDrawableCompat(@DrawableRes drawable: Int?) {
-    if (drawable != null) {
-        var drawable = ContextCompat.getDrawable(context, drawable)
-        DrawableCompat.setTint(drawable,this.context.theme.getResourceColor(android.R.attr.textColorHint))
-        setImageDrawable(drawable)
-    } else {
-        setImageResource(android.R.color.transparent)
+fun ImageView.setVectorCompat(@DrawableRes drawable: Int, tint: Int? = null) {
+    val vector = VectorDrawableCompat.create(resources, drawable, context.theme)
+    if (tint != null) {
+        vector?.setTint(tint)
     }
-}
+    setImageDrawable(vector)
+}

+ 4 - 7
app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginPreference.kt

@@ -18,13 +18,10 @@ class LoginPreference @JvmOverloads constructor(context: Context, attrs: Attribu
     override fun onBindViewHolder(holder: PreferenceViewHolder) {
         super.onBindViewHolder(holder)
 
-        with(holder.itemView.image_view) {
-            if (getPersistedString("").isNullOrEmpty()) {
-                setImageResource(android.R.color.transparent)
-            } else {
-                setImageDrawable(ContextCompat.getDrawable(context, R.drawable.ic_done_green_24dp))
-            }
-        }
+        holder.itemView.image_view.setImageResource(if (getPersistedString("").isNullOrEmpty())
+            android.R.color.transparent
+        else
+            R.drawable.ic_done_green_24dp)
     }
 
     override public fun notifyChanged() {

binární
app/src/main/res/drawable-hdpi/reader_background_checkbox_selected.png


binární
app/src/main/res/drawable-hdpi/reader_background_checkbox_unselected.png


binární
app/src/main/res/drawable-ldpi/reader_background_checkbox_selected.png


binární
app/src/main/res/drawable-ldpi/reader_background_checkbox_unselected.png


binární
app/src/main/res/drawable-mdpi/reader_background_checkbox_selected.png


binární
app/src/main/res/drawable-mdpi/reader_background_checkbox_unselected.png


binární
app/src/main/res/drawable-xxhdpi/reader_background_checkbox_selected.png


binární
app/src/main/res/drawable-xxhdpi/reader_background_checkbox_unselected.png


binární
app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_selected.png


binární
app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_unselected.png


+ 0 - 9
app/src/main/res/drawable/ic_reader_background_checkbox_black_24dp.xml

@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z"/>
-</vector>

+ 0 - 9
app/src/main/res/drawable/ic_reader_background_checkbox_white_24dp.xml

@@ -1,9 +0,0 @@
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M19,3H5C3.9,3,3,3.9,3,5v14c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5C21,3.9,20.1,3,19,3z"/>
-</vector>

+ 2 - 2
app/src/main/res/drawable/reader_background_checkbox.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="true" android:drawable="@drawable/ic_reader_background_checkbox_black_24dp" />
-    <item android:drawable="@drawable/ic_reader_background_checkbox_white_24dp" />
+    <item android:state_checked="true" android:drawable="@drawable/reader_background_checkbox_selected" />
+    <item android:drawable="@drawable/reader_background_checkbox_unselected" />
 </selector>

+ 0 - 4
app/src/main/res/layout/reader_popup.xml

@@ -39,10 +39,6 @@
         android:layout_width="wrap_content"
         android:layout_height="36dp"
         android:gravity="center"
-        android:paddingLeft="4dp"
-        android:paddingRight="4dp"
-        android:layout_marginLeft="4dp"
-        android:layout_marginStart="4dp"
         android:text="@string/pref_reader_theme"/>
 
     <android.support.v7.widget.AppCompatCheckBox

+ 1 - 1
build.gradle

@@ -6,7 +6,7 @@ buildscript {
         jcenter()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:2.1.0-alpha4'
+        classpath 'com.android.tools.build:gradle:2.0.0'
         classpath 'com.github.ben-manes:gradle-versions-plugin:0.12.0'
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files