瀏覽代碼

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

len 10 年之前
父節點
當前提交
67c4781376
共有 26 個文件被更改,包括 40 次插入59 次删除
  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. 二進制
      app/src/main/res/drawable-hdpi/reader_background_checkbox_selected.png
  13. 二進制
      app/src/main/res/drawable-hdpi/reader_background_checkbox_unselected.png
  14. 二進制
      app/src/main/res/drawable-ldpi/reader_background_checkbox_selected.png
  15. 二進制
      app/src/main/res/drawable-ldpi/reader_background_checkbox_unselected.png
  16. 二進制
      app/src/main/res/drawable-mdpi/reader_background_checkbox_selected.png
  17. 二進制
      app/src/main/res/drawable-mdpi/reader_background_checkbox_unselected.png
  18. 二進制
      app/src/main/res/drawable-xxhdpi/reader_background_checkbox_selected.png
  19. 二進制
      app/src/main/res/drawable-xxhdpi/reader_background_checkbox_unselected.png
  20. 二進制
      app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_selected.png
  21. 二進制
      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() {

二進制
app/src/main/res/drawable-hdpi/reader_background_checkbox_selected.png


二進制
app/src/main/res/drawable-hdpi/reader_background_checkbox_unselected.png


二進制
app/src/main/res/drawable-ldpi/reader_background_checkbox_selected.png


二進制
app/src/main/res/drawable-ldpi/reader_background_checkbox_unselected.png


二進制
app/src/main/res/drawable-mdpi/reader_background_checkbox_selected.png


二進制
app/src/main/res/drawable-mdpi/reader_background_checkbox_unselected.png


二進制
app/src/main/res/drawable-xxhdpi/reader_background_checkbox_selected.png


二進制
app/src/main/res/drawable-xxhdpi/reader_background_checkbox_unselected.png


二進制
app/src/main/res/drawable-xxxhdpi/reader_background_checkbox_selected.png


二進制
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