Target sdk 26. Dependency updates.

This commit is contained in:
len 2017-09-23 17:14:04 +02:00
parent 54c8b3ef29
commit 75c41b645a
19 changed files with 67 additions and 105 deletions

View File

@ -29,14 +29,14 @@ ext {
}
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
compileSdkVersion 26
buildToolsVersion "26.0.1"
publishNonDefault true
defaultConfig {
applicationId "eu.kanade.tachiyomi"
minSdkVersion 16
targetSdkVersion 25
targetSdkVersion 26
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
versionCode 26
versionName "0.6.3"
@ -102,12 +102,13 @@ dependencies {
compile 'com.github.inorichi:junrar-android:634c1f5'
// Android support library
final support_library_version = '25.4.0'
final support_library_version = '26.1.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"
compile "com.android.support:design:$support_library_version"
compile "com.android.support:recyclerview-v7:$support_library_version"
compile "com.android.support:preference-v7:$support_library_version"
compile "com.android.support:support-annotations:$support_library_version"
compile "com.android.support:customtabs:$support_library_version"
@ -117,13 +118,13 @@ dependencies {
// ReactiveX
compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.3.0'
compile 'io.reactivex:rxjava:1.3.2'
compile 'com.jakewharton.rxrelay:rxrelay:1.2.0'
compile 'com.f2prateek.rx.preferences:rx-preferences:1.0.2'
compile 'com.github.pwittchen:reactivenetwork:0.7.0'
// Network client
compile "com.squareup.okhttp3:okhttp:3.8.1"
compile "com.squareup.okhttp3:okhttp:3.9.0"
compile 'com.squareup.okio:okio:1.13.0'
// REST
@ -133,14 +134,14 @@ dependencies {
compile "com.squareup.retrofit2:adapter-rxjava:$retrofit_version"
// JSON
compile 'com.google.code.gson:gson:2.8.1'
compile 'com.google.code.gson:gson:2.8.2'
compile 'com.github.salomonbrys.kotson:kotson:2.5.0'
// YAML
compile 'com.github.bmoliveira:snake-yaml:v1.18-android'
// JavaScript engine
compile 'com.squareup.duktape:duktape-android:1.1.0'
compile 'com.squareup.duktape:duktape-android:1.2.0'
// Disk
compile 'com.jakewharton:disklrucache:2.0.2'
@ -151,7 +152,7 @@ dependencies {
// Job scheduling
compile 'com.evernote:android-job:1.1.11'
compile 'com.google.android.gms:play-services-gcm:11.0.1'
compile 'com.google.android.gms:play-services-gcm:11.4.0'
// Changelog
compile 'com.github.gabrielemariotti.changeloglib:changelog:2.1.0'
@ -188,14 +189,16 @@ dependencies {
compile 'eu.davidea:flexible-adapter:5.0.0-rc1'
compile 'com.nononsenseapps:filepicker:2.5.2'
compile 'com.github.amulyakhare:TextDrawable:558677e'
compile 'com.afollestad.material-dialogs:core:0.9.4.5'
compile('com.afollestad.material-dialogs:core:0.9.4.7') {
exclude group: "com.android.support", module: "support-v13"
}
compile 'me.zhanghai.android.systemuihelper:library:1.0.0'
compile 'com.nightlynexus.viewstatepageradapter:viewstatepageradapter:1.0.4'
compile 'com.github.mthli:Slice:v1.2'
// Conductor
compile "com.bluelinelabs:conductor:2.1.4"
compile 'com.github.inorichi:conductor-support-preference:9e36460'
compile 'com.github.inorichi:conductor-support-preference:26.0.2'
// RxBindings
final rxbindings_version = '1.0.1'
@ -218,7 +221,7 @@ dependencies {
}
buildscript {
ext.kotlin_version = '1.1.4'
ext.kotlin_version = '1.1.50'
repositories {
mavenCentral()
}
@ -231,18 +234,6 @@ repositories {
mavenCentral()
}
// Workaround to force a support lib version
configurations.all {
resolutionStrategy.eachDependency { details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.4.0'
}
}
}
}
// add support for placeholders in resource files
//https://code.google.com/p/android/issues/detail?id=69224
def replacePlaceholdersInFile(basePath, fileName, placeholders) {

View File

@ -45,8 +45,8 @@ class ProgressItem : AbstractFlexibleItem<ProgressItem.Holder>() {
class Holder(view: View, adapter: FlexibleAdapter<*>) : FlexibleViewHolder(view, adapter) {
val progressBar = view.findViewById(R.id.progress_bar) as ProgressBar
val progressMessage = view.findViewById(R.id.progress_message) as TextView
val progressBar: ProgressBar = view.findViewById(R.id.progress_bar)
val progressMessage: TextView = view.findViewById(R.id.progress_message)
}
}

View File

@ -32,10 +32,8 @@ open class CheckboxItem(val filter: Filter.CheckBox) : AbstractFlexibleItem<Chec
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is CheckboxItem) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as CheckboxItem).filter
}
override fun hashCode(): Int {
@ -44,6 +42,6 @@ open class CheckboxItem(val filter: Filter.CheckBox) : AbstractFlexibleItem<Chec
class Holder(view: View, adapter: FlexibleAdapter<*>) : FlexibleViewHolder(view, adapter) {
val check = itemView.findViewById(R.id.nav_view_item) as CheckBox
val check: CheckBox = itemView.findViewById(R.id.nav_view_item)
}
}

View File

@ -34,10 +34,8 @@ class GroupItem(val filter: Filter.Group<*>) : AbstractExpandableHeaderItem<Grou
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is GroupItem) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as GroupItem).filter
}
override fun hashCode(): Int {
@ -46,8 +44,8 @@ class GroupItem(val filter: Filter.Group<*>) : AbstractExpandableHeaderItem<Grou
open class Holder(view: View, adapter: FlexibleAdapter<*>) : ExpandableViewHolder(view, adapter, true) {
val title = itemView.findViewById(R.id.title) as TextView
val icon = itemView.findViewById(R.id.expand_icon) as ImageView
val title: TextView = itemView.findViewById(R.id.title)
val icon: ImageView = itemView.findViewById(R.id.expand_icon)
override fun shouldNotifyParentOnClick(): Boolean {
return true

View File

@ -29,10 +29,8 @@ class HeaderItem(val filter: Filter.Header) : AbstractHeaderItem<HeaderItem.Hold
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is HeaderItem) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as HeaderItem).filter
}
override fun hashCode(): Int {

View File

@ -15,10 +15,8 @@ class TriStateSectionItem(filter: Filter.TriState) : TriStateItem(filter), ISect
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is TriStateSectionItem) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as TriStateSectionItem).filter
}
override fun hashCode(): Int {
@ -38,10 +36,8 @@ class TextSectionItem(filter: Filter.Text) : TextItem(filter), ISectionable<Text
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is TextSectionItem) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as TextSectionItem).filter
}
override fun hashCode(): Int {
@ -61,10 +57,8 @@ class CheckboxSectionItem(filter: Filter.CheckBox) : CheckboxItem(filter), ISect
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is CheckboxSectionItem) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as CheckboxSectionItem).filter
}
override fun hashCode(): Int {
@ -84,10 +78,8 @@ class SelectSectionItem(filter: Filter.Select<*>) : SelectItem(filter), ISection
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is SelectSectionItem) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as SelectSectionItem).filter
}
override fun hashCode(): Int {

View File

@ -40,10 +40,8 @@ open class SelectItem(val filter: Filter.Select<*>) : AbstractFlexibleItem<Selec
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is SelectItem) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as SelectItem).filter
}
override fun hashCode(): Int {
@ -52,7 +50,7 @@ open class SelectItem(val filter: Filter.Select<*>) : AbstractFlexibleItem<Selec
class Holder(view: View, adapter: FlexibleAdapter<*>) : FlexibleViewHolder(view, adapter) {
val text = itemView.findViewById(R.id.nav_view_item_text) as TextView
val spinner = itemView.findViewById(R.id.nav_view_item) as Spinner
val text: TextView = itemView.findViewById(R.id.nav_view_item_text)
val spinner: Spinner = itemView.findViewById(R.id.nav_view_item)
}
}

View File

@ -27,10 +27,8 @@ class SeparatorItem(val filter: Filter.Separator) : AbstractHeaderItem<Separator
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is SeparatorItem) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as SeparatorItem).filter
}
override fun hashCode(): Int {

View File

@ -32,10 +32,8 @@ class SortGroup(val filter: Filter.Sort) : AbstractExpandableHeaderItem<SortGrou
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is SortGroup) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as SortGroup).filter
}
override fun hashCode(): Int {

View File

@ -54,11 +54,10 @@ class SortItem(val name: String, val group: SortGroup) : AbstractSectionableItem
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is SortItem) {
if (javaClass != other?.javaClass) return false
other as SortItem
return name == other.name && group == other.group
}
return false
}
override fun hashCode(): Int {
var result = name.hashCode()
@ -68,7 +67,7 @@ class SortItem(val name: String, val group: SortGroup) : AbstractSectionableItem
class Holder(view: View, adapter: FlexibleAdapter<*>) : FlexibleViewHolder(view, adapter) {
val text = itemView.findViewById(R.id.nav_view_item) as CheckedTextView
val text: CheckedTextView = itemView.findViewById(R.id.nav_view_item)
}
}

View File

@ -34,10 +34,8 @@ open class TextItem(val filter: Filter.Text) : AbstractFlexibleItem<TextItem.Hol
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is TextItem) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as TextItem).filter
}
override fun hashCode(): Int {
@ -46,7 +44,7 @@ open class TextItem(val filter: Filter.Text) : AbstractFlexibleItem<TextItem.Hol
class Holder(view: View, adapter: FlexibleAdapter<*>) : FlexibleViewHolder(view, adapter) {
val wrapper = itemView.findViewById(R.id.nav_view_item_wrapper) as TextInputLayout
val edit = itemView.findViewById(R.id.nav_view_item) as EditText
val wrapper: TextInputLayout = itemView.findViewById(R.id.nav_view_item_wrapper)
val edit: EditText = itemView.findViewById(R.id.nav_view_item)
}
}

View File

@ -51,10 +51,8 @@ open class TriStateItem(val filter: Filter.TriState) : AbstractFlexibleItem<TriS
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other is TriStateItem) {
return filter == other.filter
}
return false
if (javaClass != other?.javaClass) return false
return filter == (other as TriStateItem).filter
}
override fun hashCode(): Int {
@ -63,7 +61,7 @@ open class TriStateItem(val filter: Filter.TriState) : AbstractFlexibleItem<TriS
class Holder(view: View, adapter: FlexibleAdapter<*>) : FlexibleViewHolder(view, adapter) {
val text = itemView.findViewById(TR.id.nav_view_item) as CheckedTextView
val text: CheckedTextView = itemView.findViewById(TR.id.nav_view_item)
init {
// Align with native checkbox

View File

@ -99,7 +99,7 @@ class MainActivity : BaseActivity() {
true
}
val container = findViewById(R.id.controller_container) as ViewGroup
val container: ViewGroup = findViewById(R.id.controller_container)
router = Conductor.attachRouter(this, container, savedInstanceState)
if (!router.hasRootController()) {

View File

@ -43,7 +43,7 @@ class SetTrackChaptersDialog<T> : DialogController
val view = dialog.customView
if (view != null) {
// Remove focus to update selected number
val np = view.findViewById(R.id.chapters_picker) as NumberPicker
val np: NumberPicker = view.findViewById(R.id.chapters_picker)
np.clearFocus()
(targetController as? Listener)?.setChaptersRead(item, np.value)
@ -53,7 +53,7 @@ class SetTrackChaptersDialog<T> : DialogController
val view = dialog.customView
if (view != null) {
val np = view.findViewById(R.id.chapters_picker) as NumberPicker
val np: NumberPicker = view.findViewById(R.id.chapters_picker)
// Set initial value
np.value = item.track?.last_chapter_read ?: 0
// Don't allow to go from 0 to 9999

View File

@ -43,7 +43,7 @@ class SetTrackScoreDialog<T> : DialogController
val view = dialog.customView
if (view != null) {
// Remove focus to update selected number
val np = view.findViewById(R.id.score_picker) as NumberPicker
val np: NumberPicker = view.findViewById(R.id.score_picker)
np.clearFocus()
(targetController as? Listener)?.setScore(item, np.value)
@ -53,7 +53,7 @@ class SetTrackScoreDialog<T> : DialogController
val view = dialog.customView
if (view != null) {
val np = view.findViewById(R.id.score_picker) as NumberPicker
val np: NumberPicker = view.findViewById(R.id.score_picker)
val scores = item.service.getScoreList().toTypedArray()
np.maxValue = scores.size - 1
np.displayedValues = scores

View File

@ -41,7 +41,7 @@ class DateItem(val date: Date) : AbstractHeaderItem<DateItem.Holder>() {
private val now = Date().time
val section_text = view.findViewById(R.id.section_text) as TextView
val section_text: TextView = view.findViewById(R.id.section_text)
fun bind(item: DateItem) {
section_text.text = DateUtils.getRelativeTimeSpanString(item.date.time, now, DateUtils.DAY_IN_MILLIS)

View File

@ -28,7 +28,7 @@ fun View.getCoordinates() = Point((left + right) / 2, (top + bottom) / 2)
*/
inline fun View.snack(message: String, length: Int = Snackbar.LENGTH_LONG, f: Snackbar.() -> Unit): Snackbar {
val snack = Snackbar.make(this, message, length)
val textView = snack.view.findViewById(android.support.design.R.id.snackbar_text) as TextView
val textView: TextView = snack.view.findViewById(android.support.design.R.id.snackbar_text)
textView.setTextColor(Color.WHITE)
snack.f()
snack.show()

View File

@ -104,7 +104,7 @@ open class SimpleNavigationView @JvmOverloads constructor(
class RadioHolder(parent: ViewGroup, listener: View.OnClickListener?)
: ClickableHolder(parent.inflate(TR.layout.navigation_view_radio), listener) {
val radio = itemView.findViewById(TR.id.nav_view_item) as RadioButton
val radio: RadioButton = itemView.findViewById(TR.id.nav_view_item)
}
/**
@ -113,7 +113,7 @@ open class SimpleNavigationView @JvmOverloads constructor(
class CheckboxHolder(parent: ViewGroup, listener: View.OnClickListener?)
: ClickableHolder(parent.inflate(TR.layout.navigation_view_checkbox), listener) {
val check = itemView.findViewById(TR.id.nav_view_item) as CheckBox
val check: CheckBox = itemView.findViewById(TR.id.nav_view_item)
}
/**
@ -122,21 +122,21 @@ open class SimpleNavigationView @JvmOverloads constructor(
class MultiStateHolder(parent: ViewGroup, listener: View.OnClickListener?)
: ClickableHolder(parent.inflate(TR.layout.navigation_view_checkedtext), listener) {
val text = itemView.findViewById(TR.id.nav_view_item) as CheckedTextView
val text: CheckedTextView = itemView.findViewById(TR.id.nav_view_item)
}
class SpinnerHolder(parent: ViewGroup, listener: OnClickListener? = null)
: ClickableHolder(parent.inflate(TR.layout.navigation_view_spinner), listener) {
val text = itemView.findViewById(TR.id.nav_view_item_text) as TextView
val spinner = itemView.findViewById(TR.id.nav_view_item) as Spinner
val text: TextView = itemView.findViewById(TR.id.nav_view_item_text)
val spinner: Spinner = itemView.findViewById(TR.id.nav_view_item)
}
class EditTextHolder(parent: ViewGroup)
: Holder(parent.inflate(TR.layout.navigation_view_text)) {
val wrapper = itemView.findViewById(TR.id.nav_view_item_wrapper) as TextInputLayout
val edit = itemView.findViewById(TR.id.nav_view_item) as EditText
val wrapper: TextInputLayout = itemView.findViewById(TR.id.nav_view_item_wrapper)
val edit: EditText = itemView.findViewById(TR.id.nav_view_item)
}
protected companion object {

View File

@ -19,10 +19,6 @@
android:id="@+id/nav_drawer_catalogues"
android:icon="@drawable/ic_explore_black_24dp"
android:title="@string/label_catalogues" />
<item
android:id="@+id/nav_drawer_latest_updates"
android:icon="@drawable/ic_watch_later_black_24dp"
android:title="@string/label_latest_updates" />
<item
android:id="@+id/nav_drawer_downloads"
android:icon="@drawable/ic_file_download_black_24dp"