Bläddra i källkod

Update to SDK 28 (#2394)

arkon 5 år sedan
förälder
incheckning
ff8e3f0af4

+ 2 - 2
.travis.yml

@@ -3,7 +3,7 @@ language: android
 android:
   components:
   - build-tools-29.0.2
-  - android-27
+  - android-28
   - extra-android-m2repository
   - extra-google-m2repository
   - extra-android-support
@@ -11,7 +11,7 @@ android:
   licenses:
   - android-sdk-license-.+
 before_install:
-- yes | sdkmanager "platforms;android-27" # workaround for accepting the license
+- yes | sdkmanager "platforms;android-28" # workaround for accepting the license
 - if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
     openssl aes-256-cbc -K $encrypted_e56be693d4fd_key -iv $encrypted_e56be693d4fd_iv -in "$PWD/.travis/secrets.tar.enc" -out secrets.tar -d;
     tar xf secrets.tar;

+ 3 - 3
app/build.gradle

@@ -29,14 +29,14 @@ ext {
 }
 
 android {
-    compileSdkVersion 27
+    compileSdkVersion 28
     buildToolsVersion '29.0.2'
     publishNonDefault true
 
     defaultConfig {
         applicationId "eu.kanade.tachiyomi"
         minSdkVersion 16
-        targetSdkVersion 27
+        targetSdkVersion 28
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
         versionCode 41
         versionName "0.8.4"
@@ -100,7 +100,7 @@ dependencies {
     implementation 'com.github.inorichi:junrar-android:634c1f5'
 
     // Android support library
-    final support_library_version = '27.1.1'
+    final support_library_version = '28.0.0'
     implementation "com.android.support:support-v4:$support_library_version"
     implementation "com.android.support:appcompat-v7:$support_library_version"
     implementation "com.android.support:cardview-v7:$support_library_version"

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -9,6 +9,7 @@
     <uses-permission android:name="android.permission.WAKE_LOCK" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
     <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
+    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
     <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
 
     <application

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/browse/BrowseCatalogueController.kt

@@ -201,7 +201,7 @@ open class BrowseCatalogueController(bundle: Bundle) :
         catalogue_view.addView(recycler, 1)
 
         if (oldPosition != RecyclerView.NO_POSITION) {
-            recycler.layoutManager.scrollToPosition(oldPosition)
+            recycler.layoutManager?.scrollToPosition(oldPosition)
         }
         this.recycler = recycler
     }

+ 1 - 3
app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt

@@ -179,7 +179,6 @@ class MangaController : RxController, TabbedController {
     }
 
     companion object {
-
         const val FROM_CATALOGUE_EXTRA = "from_catalogue"
         const val MANGA_EXTRA = "manga"
 
@@ -187,9 +186,8 @@ class MangaController : RxController, TabbedController {
         const val CHAPTERS_CONTROLLER = 1
         const val TRACK_CONTROLLER = 2
 
-        private val tabField = TabLayout.Tab::class.java.getDeclaredField("mView")
+        private val tabField = TabLayout.Tab::class.java.getDeclaredField("view")
                 .apply { isAccessible = true }
     }
 
-
 }

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

@@ -62,8 +62,8 @@ open class WebtoonRecyclerView @JvmOverloads constructor(
     override fun onScrollStateChanged(state: Int) {
         super.onScrollStateChanged(state)
         val layoutManager = layoutManager
-        val visibleItemCount = layoutManager.childCount
-        val totalItemCount = layoutManager.itemCount
+        val visibleItemCount = layoutManager?.childCount ?: 0
+        val totalItemCount = layoutManager?.itemCount ?: 0
         atLastPosition = visibleItemCount > 0 && lastVisibleItemPosition == totalItemCount - 1
         atFirstPosition = firstVisibleItemPosition == 0
     }

+ 8 - 6
app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt

@@ -67,7 +67,7 @@ class WebtoonViewer(val activity: ReaderActivity) : BaseViewer {
         recycler.layoutManager = layoutManager
         recycler.adapter = adapter
         recycler.addOnScrollListener(object : RecyclerView.OnScrollListener() {
-            override fun onScrolled(recyclerView: RecyclerView?, dx: Int, dy: Int) {
+            override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
                 val position = layoutManager.findLastEndVisibleItemPosition()
                 val item = adapter.items.getOrNull(position)
                 if (item != null && currentPage != item) {
@@ -98,11 +98,13 @@ class WebtoonViewer(val activity: ReaderActivity) : BaseViewer {
         recycler.longTapListener = f@ { event ->
             if (activity.menuVisible || config.longTapEnabled) {
                 val child = recycler.findChildViewUnder(event.x, event.y)
-                val position = recycler.getChildAdapterPosition(child)
-                val item = adapter.items.getOrNull(position)
-                if (item is ReaderPage) {
-                    activity.onPageLongTap(item)
-                    return@f true
+                if (child != null) {
+                    val position = recycler.getChildAdapterPosition(child)
+                    val item = adapter.items.getOrNull(position)
+                    if (item is ReaderPage) {
+                        activity.onPageLongTap(item)
+                        return@f true
+                    }
                 }
             }
             false

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAboutController.kt

@@ -150,14 +150,14 @@ class SettingsAboutController : SettingsController() {
         override fun onCreateDialog(savedViewState: Bundle?): Dialog {
             return MaterialDialog.Builder(activity!!)
                     .title(R.string.update_check_title)
-                    .content(args.getString(BODY_KEY))
+                    .content(args.getString(BODY_KEY) ?: "")
                     .positiveText(R.string.update_check_confirm)
                     .negativeText(R.string.update_check_ignore)
                     .onPositive { _, _ ->
                         val appContext = applicationContext
                         if (appContext != null) {
                             // Start download
-                            val url = args.getString(URL_KEY)
+                            val url = args.getString(URL_KEY) ?: ""
                             UpdaterService.downloadUpdate(appContext, url)
                         }
                     }