Support API 25 again. Bump dependencies

This commit is contained in:
len 2016-11-05 19:28:47 +01:00
parent 27d3daf918
commit 10a1ba95d6
8 changed files with 28 additions and 118 deletions

View file

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

View file

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

View file

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

View file

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

View file

@ -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.")
}
}

View file

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

View file

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

View file

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