Browse Source

Support API 25 again. Bump dependencies

len 8 years ago
parent
commit
10a1ba95d6

+ 15 - 13
app/build.gradle

@@ -33,14 +33,14 @@ def includeUpdater() {
 }
 
 android {
-    compileSdkVersion 24
-    buildToolsVersion "24.0.2"
+    compileSdkVersion 25
+    buildToolsVersion "25.0.0"
     publishNonDefault true
 
     defaultConfig {
         applicationId "eu.kanade.tachiyomi"
         minSdkVersion 16
-        targetSdkVersion 24
+        targetSdkVersion 25
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
         versionCode 13
         versionName "0.3.2"
@@ -97,7 +97,7 @@ dependencies {
     compile 'com.github.inorichi:ReactiveNetwork:69092ed'
 
     // Android support library
-    final support_library_version = '24.2.1'
+    final support_library_version = '25.0.0'
     compile "com.android.support:support-v4:$support_library_version"
     compile "com.android.support:appcompat-v7:$support_library_version"
     compile "com.android.support:cardview-v7:$support_library_version"
@@ -112,11 +112,11 @@ dependencies {
 
     // ReactiveX
     compile 'io.reactivex:rxandroid:1.2.1'
-    compile 'io.reactivex:rxjava:1.2.1'
+    compile 'io.reactivex:rxjava:1.2.2'
     compile 'com.f2prateek.rx.preferences:rx-preferences:1.0.2'
 
     // Network client
-    compile "com.squareup.okhttp3:okhttp:3.4.1"
+    compile "com.squareup.okhttp3:okhttp:3.4.2"
 
     // REST
     final retrofit_version = '2.1.0'
@@ -125,10 +125,10 @@ dependencies {
     compile "com.squareup.retrofit2:adapter-rxjava:$retrofit_version"
 
     // IO
-    compile 'com.squareup.okio:okio:1.10.0'
+    compile 'com.squareup.okio:okio:1.11.0'
 
     // JSON
-    compile 'com.google.code.gson:gson:2.7'
+    compile 'com.google.code.gson:gson:2.8.0'
     compile 'com.github.salomonbrys.kotson:kotson:2.4.0'
 
     // YAML
@@ -141,7 +141,7 @@ dependencies {
     compile 'com.jakewharton:disklrucache:2.0.2'
 
     // Parse HTML
-    compile 'org.jsoup:jsoup:1.9.2'
+    compile 'org.jsoup:jsoup:1.10.1'
 
     // Changelog
     compile 'com.github.gabrielemariotti.changeloglib:changelog:2.1.0'
@@ -176,7 +176,7 @@ dependencies {
     compile 'eu.davidea:flexible-adapter:4.2.0'
     compile 'com.nononsenseapps:filepicker:2.5.2'
     compile 'com.github.amulyakhare:TextDrawable:558677e'
-    compile 'com.afollestad.material-dialogs:core:0.9.0.2'
+    compile 'com.afollestad.material-dialogs:core:0.9.1.0'
     compile 'net.xpece.android:support-preference:1.0.3'
     compile 'me.zhanghai.android.systemuihelper:library:1.0.0'
     compile 'de.hdodenhof:circleimageview:2.1.0'
@@ -185,9 +185,11 @@ dependencies {
     testCompile 'junit:junit:4.12'
     testCompile 'org.assertj:assertj-core:1.7.1'
     testCompile 'org.mockito:mockito-core:1.10.19'
-    testCompile 'org.robolectric:robolectric:3.1.2'
-    testCompile 'org.robolectric:shadows-multidex:3.1.2'
-    testCompile 'org.robolectric:shadows-play-services:3.1.2'
+
+    final robolectric_version = '3.1.4'
+    testCompile "org.robolectric:robolectric:$robolectric_version"
+    testCompile "org.robolectric:shadows-multidex:$robolectric_version"
+    testCompile "org.robolectric:shadows-play-services:$robolectric_version"
 
     compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
 }

+ 2 - 9
app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/CatalogueFragment.kt

@@ -3,10 +3,7 @@ package eu.kanade.tachiyomi.ui.catalogue
 import android.content.res.Configuration
 import android.os.Bundle
 import android.support.design.widget.Snackbar
-import android.support.v7.widget.GridLayoutManager
-import android.support.v7.widget.LinearLayoutManager
-import android.support.v7.widget.SearchView
-import android.support.v7.widget.Toolbar
+import android.support.v7.widget.*
 import android.view.*
 import android.view.animation.AnimationUtils
 import android.widget.ArrayAdapter
@@ -21,10 +18,8 @@ import eu.kanade.tachiyomi.ui.base.adapter.FlexibleViewHolder
 import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment
 import eu.kanade.tachiyomi.ui.main.MainActivity
 import eu.kanade.tachiyomi.ui.manga.MangaActivity
-import eu.kanade.tachiyomi.util.getResourceDrawable
 import eu.kanade.tachiyomi.util.snack
 import eu.kanade.tachiyomi.util.toast
-import eu.kanade.tachiyomi.widget.DividerItemDecoration
 import eu.kanade.tachiyomi.widget.EndlessScrollListener
 import eu.kanade.tachiyomi.widget.IgnoreFirstSpinnerListener
 import kotlinx.android.synthetic.main.fragment_catalogue.*
@@ -149,9 +144,7 @@ open class CatalogueFragment : BaseRxFragment<CataloguePresenter>(), FlexibleVie
         catalogue_list.adapter = adapter
         catalogue_list.layoutManager = llm
         catalogue_list.addOnScrollListener(listScrollListener)
-        catalogue_list.addItemDecoration(
-                DividerItemDecoration(context.theme.getResourceDrawable(R.attr.divider_drawable)))
-
+        catalogue_list.addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL))
         if (presenter.isListMode) {
             switcher.showNext()
         }

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

@@ -6,6 +6,7 @@ import android.content.Intent
 import android.os.Bundle
 import android.support.v4.app.DialogFragment
 import android.support.v7.view.ActionMode
+import android.support.v7.widget.DividerItemDecoration
 import android.support.v7.widget.LinearLayoutManager
 import android.view.*
 import com.afollestad.materialdialogs.MaterialDialog
@@ -19,10 +20,8 @@ import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment
 import eu.kanade.tachiyomi.ui.manga.MangaActivity
 import eu.kanade.tachiyomi.ui.reader.ReaderActivity
 import eu.kanade.tachiyomi.util.getCoordinates
-import eu.kanade.tachiyomi.util.getResourceDrawable
 import eu.kanade.tachiyomi.util.toast
 import eu.kanade.tachiyomi.widget.DeletingChaptersDialog
-import eu.kanade.tachiyomi.widget.DividerItemDecoration
 import kotlinx.android.synthetic.main.fragment_manga_chapters.*
 import nucleus.factory.RequiresPresenter
 import timber.log.Timber
@@ -67,8 +66,7 @@ class ChaptersFragment : BaseRxFragment<ChaptersPresenter>(), ActionMode.Callbac
 
         recycler.adapter = adapter
         recycler.layoutManager = LinearLayoutManager(activity)
-        recycler.addItemDecoration(DividerItemDecoration(
-                context.theme.getResourceDrawable(R.attr.divider_drawable)))
+        recycler.addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL))
         recycler.setHasFixedSize(true)
 
         swipe_refresh.setOnRefreshListener { fetchChapters() }

+ 2 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/recent_updates/RecentChaptersFragment.kt

@@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.ui.recent_updates
 import android.os.Bundle
 import android.support.v4.app.DialogFragment
 import android.support.v7.view.ActionMode
+import android.support.v7.widget.DividerItemDecoration
 import android.support.v7.widget.LinearLayoutManager
 import android.view.*
 import com.afollestad.materialdialogs.MaterialDialog
@@ -13,9 +14,7 @@ import eu.kanade.tachiyomi.ui.base.adapter.FlexibleViewHolder
 import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment
 import eu.kanade.tachiyomi.ui.main.MainActivity
 import eu.kanade.tachiyomi.ui.reader.ReaderActivity
-import eu.kanade.tachiyomi.util.getResourceDrawable
 import eu.kanade.tachiyomi.widget.DeletingChaptersDialog
-import eu.kanade.tachiyomi.widget.DividerItemDecoration
 import kotlinx.android.synthetic.main.fragment_recent_chapters.*
 import nucleus.factory.RequiresPresenter
 import timber.log.Timber
@@ -69,7 +68,7 @@ class RecentChaptersFragment
     override fun onViewCreated(view: View, savedState: Bundle?) {
         // Init RecyclerView and adapter
         recycler.layoutManager = LinearLayoutManager(activity)
-        recycler.addItemDecoration(DividerItemDecoration(context.theme.getResourceDrawable(R.attr.divider_drawable)))
+        recycler.addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL))
         recycler.setHasFixedSize(true)
         adapter = RecentChaptersAdapter(this)
         recycler.adapter = adapter

+ 0 - 83
app/src/main/java/eu/kanade/tachiyomi/widget/DividerItemDecoration.kt

@@ -1,83 +0,0 @@
-package eu.kanade.tachiyomi.widget
-
-import android.content.Context
-import android.graphics.Canvas
-import android.graphics.Rect
-import android.graphics.drawable.Drawable
-import android.support.v7.widget.LinearLayoutManager
-import android.support.v7.widget.RecyclerView
-import android.util.AttributeSet
-import android.view.View
-
-class DividerItemDecoration : RecyclerView.ItemDecoration {
-
-    private val divider: Drawable?
-
-    constructor(context: Context, attrs: AttributeSet) {
-        val a = context.obtainStyledAttributes(attrs, intArrayOf(android.R.attr.listDivider))
-        divider = a.getDrawable(0)
-        a.recycle()
-    }
-
-    constructor(divider: Drawable) {
-        this.divider = divider
-    }
-
-    override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State?) {
-        super.getItemOffsets(outRect, view, parent, state)
-        if (divider == null) return
-        if (parent.getChildPosition(view) < 1) return
-
-        if (getOrientation(parent) == LinearLayoutManager.VERTICAL)
-            outRect.top = divider.intrinsicHeight
-        else
-            outRect.left = divider.intrinsicWidth
-    }
-
-    override fun onDrawOver(c: Canvas, parent: RecyclerView, state: RecyclerView.State?) {
-        if (divider == null) {
-            super.onDrawOver(c, parent, state)
-            return
-        }
-
-        if (getOrientation(parent) == LinearLayoutManager.VERTICAL) {
-            val left = parent.paddingLeft
-            val right = parent.width - parent.paddingRight
-            val childCount = parent.childCount
-            val dividerHeight = divider.intrinsicHeight
-
-            for (i in 1..childCount - 1) {
-                val child = parent.getChildAt(i)
-                val params = child.layoutParams as RecyclerView.LayoutParams
-                val ty = (child.translationY + 0.5f).toInt()
-                val top = child.top - params.topMargin + ty
-                val bottom = top + dividerHeight
-                divider.setBounds(left, top, right, bottom)
-                divider.draw(c)
-            }
-        } else { //horizontal
-            val top = parent.paddingTop
-            val bottom = parent.height - parent.paddingBottom
-            val childCount = parent.childCount
-
-            for (i in 1..childCount - 1) {
-                val child = parent.getChildAt(i)
-                val params = child.layoutParams as RecyclerView.LayoutParams
-                val size = divider.intrinsicWidth
-                val left = child.left - params.leftMargin
-                val right = left + size
-                divider.setBounds(left, top, right, bottom)
-                divider.draw(c)
-            }
-        }
-    }
-
-    private fun getOrientation(parent: RecyclerView): Int {
-        if (parent.layoutManager is LinearLayoutManager) {
-            val layoutManager = parent.layoutManager as LinearLayoutManager
-            return layoutManager.orientation
-        } else
-            throw IllegalStateException("DividerItemDecoration can only be used with a LinearLayoutManager.")
-    }
-
-}

+ 4 - 0
app/src/main/java/eu/kanade/tachiyomi/widget/PreCachingLayoutManager.kt

@@ -6,6 +6,10 @@ import android.support.v7.widget.RecyclerView
 
 class PreCachingLayoutManager(context: Context) : LinearLayoutManager(context) {
 
+    init {
+        isItemPrefetchEnabled = false
+    }
+
     companion object {
         const val DEFAULT_EXTRA_LAYOUT_SPACE = 600
     }

+ 1 - 4
app/src/main/res/values/attrs.xml

@@ -1,13 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <!-- Define the values for the attribute -->
+
     <attr name="typeface" format="enum">
         <enum name="ptsansNarrow" value="0"/>
         <enum name="ptsansNarrowBold" value="1"/>
     </attr>
 
-    <!-- Tell Android that the class "CustomButton" can be styled,
-         and which attributes it supports -->
     <declare-styleable name="PTSansTextView">
         <attr name="typeface"/>
     </declare-styleable>
@@ -25,7 +23,6 @@
     <attr name="navigation_view_theme" format="reference"/>
     <attr name="selectable_list_drawable" format="reference|integer" />
     <attr name="selectable_library_drawable" format="reference|integer"/>
-    <attr name="divider_drawable" format="reference|integer" />
     <attr name="text_color_primary" format="reference|integer"/>
     <attr name="background_card" format="reference|integer"/>
 </resources>

+ 2 - 2
app/src/main/res/values/themes.xml

@@ -22,6 +22,7 @@
         <item name="android:colorBackground">@color/backgroundLight</item>
         <item name="android:listSelector">?colorAccent</item>
         <item name="android:divider">@color/dividerLight</item>
+        <item name="android:listDivider">@drawable/line_divider_light</item>
 
         <!-- Themes -->
         <item name="windowActionModeOverlay">true</item>
@@ -33,7 +34,6 @@
         <!-- Custom Attributes-->
         <item name="selectable_list_drawable">@drawable/list_item_selector_light</item>
         <item name="selectable_library_drawable">@drawable/library_item_selector_light</item>
-        <item name="divider_drawable">@drawable/line_divider_light</item>
         <item name="text_color_primary">@color/textColorPrimaryLight</item>
         <item name="background_card">@color/dialogLight</item>
         <item name="asp_preferenceIconTint">?colorAccent</item>
@@ -60,6 +60,7 @@
         <item name="android:colorBackground">@color/backgroundDark</item>
         <item name="android:listSelector">?colorAccent</item>
         <item name="android:divider">@color/dividerDark</item>
+        <item name="android:listDivider">@drawable/line_divider_dark</item>
 
         <!-- Themes -->
         <item name="windowActionModeOverlay">true</item>
@@ -73,7 +74,6 @@
         <item name="navigation_view_theme">@style/Theme.Widget.NavigationView.Dark</item>
         <item name="selectable_list_drawable">@drawable/list_item_selector_dark</item>
         <item name="selectable_library_drawable">@drawable/library_item_selector_dark</item>
-        <item name="divider_drawable">@drawable/line_divider_dark</item>
         <item name="text_color_primary">@color/textColorPrimaryDark</item>
         <item name="background_card">@color/dialogDark</item>
         <item name="asp_preferenceIconTint">?colorAccent</item>