Browse Source

Minor classes restructuration and optimize imports

len 8 years ago
parent
commit
0fe350af9a
44 changed files with 138 additions and 131 deletions
  1. 2 2
      app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt
  2. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/download/model/Download.java
  3. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/glide/MangaModelLoader.kt
  4. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt
  5. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt
  6. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/Source.kt
  7. 5 4
      app/src/main/java/eu/kanade/tachiyomi/data/source/SourceManager.kt
  8. 2 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/OnlineSource.kt
  9. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/ParsedOnlineSource.kt
  10. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/YamlOnlineSource.kt
  11. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/YamlOnlineSourceMappings.kt
  12. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/english/Batoto.kt
  13. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/english/Kissmanga.kt
  14. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/english/Mangafox.kt
  15. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/english/Mangahere.kt
  16. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/english/Readmangatoday.kt
  17. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/russian/Mangachan.kt
  18. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/russian/Mintmanga.kt
  19. 1 1
      app/src/main/java/eu/kanade/tachiyomi/data/source/online/russian/Readmanga.kt
  20. 2 2
      app/src/main/java/eu/kanade/tachiyomi/injection/component/AppComponent.kt
  21. 0 78
      app/src/main/java/eu/kanade/tachiyomi/ui/base/decoration/DividerItemDecoration.java
  22. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/CatalogueFragment.kt
  23. 2 2
      app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/CataloguePresenter.kt
  24. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersFragment.kt
  25. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt
  26. 2 2
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoFragment.kt
  27. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.kt
  28. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/manga/myanimelist/MyAnimeListDialogFragment.kt
  29. 2 2
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt
  30. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPopupMenu.kt
  31. 2 2
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt
  32. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/recent/RecentChaptersFragment.kt
  33. 1 1
      app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSourcesFragment.kt
  34. 2 2
      app/src/main/java/eu/kanade/tachiyomi/util/ChapterSourceSync.kt
  35. 83 0
      app/src/main/java/eu/kanade/tachiyomi/widget/DividerItemDecoration.kt
  36. 1 1
      app/src/main/java/eu/kanade/tachiyomi/widget/FABAnimationBase.kt
  37. 1 1
      app/src/main/java/eu/kanade/tachiyomi/widget/FABAnimationUpDown.kt
  38. 1 1
      app/src/main/java/eu/kanade/tachiyomi/widget/SimpleAnimationListener.kt
  39. 1 1
      app/src/main/java/eu/kanade/tachiyomi/widget/SimpleSeekBarListener.kt
  40. 1 1
      app/src/main/java/eu/kanade/tachiyomi/widget/SimpleTextWatcher.kt
  41. 1 1
      app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginDialogPreference.kt
  42. 2 2
      app/src/main/java/eu/kanade/tachiyomi/widget/preference/SourceLoginDialog.kt
  43. 1 1
      app/src/main/res/values/styles.xml
  44. 1 1
      app/src/test/java/eu/kanade/tachiyomi/data/library/LibraryUpdateServiceTest.java

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadManager.kt

@@ -12,10 +12,10 @@ import eu.kanade.tachiyomi.data.download.model.Download
 import eu.kanade.tachiyomi.data.download.model.DownloadQueue
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
 import eu.kanade.tachiyomi.data.preference.getOrDefault
+import eu.kanade.tachiyomi.data.source.Source
 import eu.kanade.tachiyomi.data.source.SourceManager
-import eu.kanade.tachiyomi.data.source.base.OnlineSource
-import eu.kanade.tachiyomi.data.source.base.Source
 import eu.kanade.tachiyomi.data.source.model.Page
+import eu.kanade.tachiyomi.data.source.online.OnlineSource
 import eu.kanade.tachiyomi.util.DiskUtils
 import eu.kanade.tachiyomi.util.DynamicConcurrentMergeOperator
 import eu.kanade.tachiyomi.util.UrlUtil

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/download/model/Download.java

@@ -5,8 +5,8 @@ import java.util.List;
 
 import eu.kanade.tachiyomi.data.database.models.Chapter;
 import eu.kanade.tachiyomi.data.database.models.Manga;
-import eu.kanade.tachiyomi.data.source.base.OnlineSource;
 import eu.kanade.tachiyomi.data.source.model.Page;
+import eu.kanade.tachiyomi.data.source.online.OnlineSource;
 import rx.subjects.PublishSubject;
 
 public class Download {

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/glide/MangaModelLoader.kt

@@ -9,7 +9,7 @@ import eu.kanade.tachiyomi.App
 import eu.kanade.tachiyomi.data.cache.CoverCache
 import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.data.source.SourceManager
-import eu.kanade.tachiyomi.data.source.base.OnlineSource
+import eu.kanade.tachiyomi.data.source.online.OnlineSource
 import java.io.File
 import java.io.InputStream
 import javax.inject.Inject

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/library/LibraryUpdateService.kt

@@ -18,7 +18,7 @@ import eu.kanade.tachiyomi.data.database.models.Category
 import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
 import eu.kanade.tachiyomi.data.source.SourceManager
-import eu.kanade.tachiyomi.data.source.base.OnlineSource
+import eu.kanade.tachiyomi.data.source.online.OnlineSource
 import eu.kanade.tachiyomi.ui.main.MainActivity
 import eu.kanade.tachiyomi.util.*
 import rx.Observable

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt

@@ -7,7 +7,7 @@ import com.f2prateek.rx.preferences.Preference
 import com.f2prateek.rx.preferences.RxSharedPreferences
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.mangasync.base.MangaSyncService
-import eu.kanade.tachiyomi.data.source.base.Source
+import eu.kanade.tachiyomi.data.source.Source
 import java.io.File
 import java.io.IOException
 

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/base/Source.kt → app/src/main/java/eu/kanade/tachiyomi/data/source/Source.kt

@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.data.source.base
+package eu.kanade.tachiyomi.data.source
 
 import eu.kanade.tachiyomi.data.database.models.Chapter
 import eu.kanade.tachiyomi.data.database.models.Manga

+ 5 - 4
app/src/main/java/eu/kanade/tachiyomi/data/source/SourceManager.kt

@@ -3,11 +3,12 @@ package eu.kanade.tachiyomi.data.source
 import android.content.Context
 import android.os.Environment
 import eu.kanade.tachiyomi.R
-import eu.kanade.tachiyomi.data.source.base.OnlineSource
-import eu.kanade.tachiyomi.data.source.base.Source
-import eu.kanade.tachiyomi.data.source.base.YamlOnlineSource
+import eu.kanade.tachiyomi.data.source.online.OnlineSource
+import eu.kanade.tachiyomi.data.source.online.YamlOnlineSource
 import eu.kanade.tachiyomi.data.source.online.english.*
-import eu.kanade.tachiyomi.data.source.online.russian.*
+import eu.kanade.tachiyomi.data.source.online.russian.Mangachan
+import eu.kanade.tachiyomi.data.source.online.russian.Mintmanga
+import eu.kanade.tachiyomi.data.source.online.russian.Readmanga
 import org.yaml.snakeyaml.Yaml
 import timber.log.Timber
 import java.io.File

+ 2 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/base/OnlineSource.kt → app/src/main/java/eu/kanade/tachiyomi/data/source/online/OnlineSource.kt

@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.data.source.base
+package eu.kanade.tachiyomi.data.source.online
 
 import android.content.Context
 import eu.kanade.tachiyomi.App
@@ -9,6 +9,7 @@ import eu.kanade.tachiyomi.data.network.NetworkHelper
 import eu.kanade.tachiyomi.data.network.get
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
 import eu.kanade.tachiyomi.data.source.Language
+import eu.kanade.tachiyomi.data.source.Source
 import eu.kanade.tachiyomi.data.source.model.MangasPage
 import eu.kanade.tachiyomi.data.source.model.Page
 import okhttp3.*

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/base/ParsedOnlineSource.kt → app/src/main/java/eu/kanade/tachiyomi/data/source/online/ParsedOnlineSource.kt

@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.data.source.base
+package eu.kanade.tachiyomi.data.source.online
 
 import android.content.Context
 import eu.kanade.tachiyomi.data.database.models.Chapter

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/base/YamlOnlineSource.kt → app/src/main/java/eu/kanade/tachiyomi/data/source/online/YamlOnlineSource.kt

@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.data.source.base
+package eu.kanade.tachiyomi.data.source.online
 
 import android.content.Context
 import eu.kanade.tachiyomi.data.database.models.Chapter

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/base/YamlOnlineSourceMappings.kt → app/src/main/java/eu/kanade/tachiyomi/data/source/online/YamlOnlineSourceMappings.kt

@@ -1,6 +1,6 @@
 @file:Suppress("UNCHECKED_CAST")
 
-package eu.kanade.tachiyomi.data.source.base
+package eu.kanade.tachiyomi.data.source.online
 
 import eu.kanade.tachiyomi.data.database.models.Manga
 import okhttp3.FormBody

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/online/english/Batoto.kt

@@ -9,9 +9,9 @@ import eu.kanade.tachiyomi.data.network.get
 import eu.kanade.tachiyomi.data.network.post
 import eu.kanade.tachiyomi.data.source.EN
 import eu.kanade.tachiyomi.data.source.Language
-import eu.kanade.tachiyomi.data.source.base.ParsedOnlineSource
 import eu.kanade.tachiyomi.data.source.model.MangasPage
 import eu.kanade.tachiyomi.data.source.model.Page
+import eu.kanade.tachiyomi.data.source.online.ParsedOnlineSource
 import okhttp3.FormBody
 import okhttp3.Request
 import okhttp3.Response

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/online/english/Kissmanga.kt

@@ -7,9 +7,9 @@ import eu.kanade.tachiyomi.data.network.get
 import eu.kanade.tachiyomi.data.network.post
 import eu.kanade.tachiyomi.data.source.EN
 import eu.kanade.tachiyomi.data.source.Language
-import eu.kanade.tachiyomi.data.source.base.ParsedOnlineSource
 import eu.kanade.tachiyomi.data.source.model.MangasPage
 import eu.kanade.tachiyomi.data.source.model.Page
+import eu.kanade.tachiyomi.data.source.online.ParsedOnlineSource
 import okhttp3.FormBody
 import okhttp3.OkHttpClient
 import okhttp3.Request

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/online/english/Mangafox.kt

@@ -5,8 +5,8 @@ import eu.kanade.tachiyomi.data.database.models.Chapter
 import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.data.source.EN
 import eu.kanade.tachiyomi.data.source.Language
-import eu.kanade.tachiyomi.data.source.base.ParsedOnlineSource
 import eu.kanade.tachiyomi.data.source.model.Page
+import eu.kanade.tachiyomi.data.source.online.ParsedOnlineSource
 import okhttp3.Response
 import org.jsoup.Jsoup
 import org.jsoup.nodes.Document

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/online/english/Mangahere.kt

@@ -5,8 +5,8 @@ import eu.kanade.tachiyomi.data.database.models.Chapter
 import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.data.source.EN
 import eu.kanade.tachiyomi.data.source.Language
-import eu.kanade.tachiyomi.data.source.base.ParsedOnlineSource
 import eu.kanade.tachiyomi.data.source.model.Page
+import eu.kanade.tachiyomi.data.source.online.ParsedOnlineSource
 import org.jsoup.nodes.Document
 import org.jsoup.nodes.Element
 import java.text.ParseException

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/online/english/Readmangatoday.kt

@@ -6,9 +6,9 @@ import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.data.network.post
 import eu.kanade.tachiyomi.data.source.EN
 import eu.kanade.tachiyomi.data.source.Language
-import eu.kanade.tachiyomi.data.source.base.ParsedOnlineSource
 import eu.kanade.tachiyomi.data.source.model.MangasPage
 import eu.kanade.tachiyomi.data.source.model.Page
+import eu.kanade.tachiyomi.data.source.online.ParsedOnlineSource
 import okhttp3.Request
 import org.jsoup.nodes.Document
 import org.jsoup.nodes.Element

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/online/russian/Mangachan.kt

@@ -5,8 +5,8 @@ import eu.kanade.tachiyomi.data.database.models.Chapter
 import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.data.source.Language
 import eu.kanade.tachiyomi.data.source.RU
-import eu.kanade.tachiyomi.data.source.base.ParsedOnlineSource
 import eu.kanade.tachiyomi.data.source.model.Page
+import eu.kanade.tachiyomi.data.source.online.ParsedOnlineSource
 import okhttp3.Response
 import org.jsoup.nodes.Document
 import org.jsoup.nodes.Element

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/online/russian/Mintmanga.kt

@@ -5,8 +5,8 @@ import eu.kanade.tachiyomi.data.database.models.Chapter
 import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.data.source.Language
 import eu.kanade.tachiyomi.data.source.RU
-import eu.kanade.tachiyomi.data.source.base.ParsedOnlineSource
 import eu.kanade.tachiyomi.data.source.model.Page
+import eu.kanade.tachiyomi.data.source.online.ParsedOnlineSource
 import okhttp3.Response
 import org.jsoup.nodes.Document
 import org.jsoup.nodes.Element

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/data/source/online/russian/Readmanga.kt

@@ -5,8 +5,8 @@ import eu.kanade.tachiyomi.data.database.models.Chapter
 import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.data.source.Language
 import eu.kanade.tachiyomi.data.source.RU
-import eu.kanade.tachiyomi.data.source.base.ParsedOnlineSource
 import eu.kanade.tachiyomi.data.source.model.Page
+import eu.kanade.tachiyomi.data.source.online.ParsedOnlineSource
 import okhttp3.Response
 import org.jsoup.nodes.Document
 import org.jsoup.nodes.Element

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/injection/component/AppComponent.kt

@@ -8,8 +8,8 @@ import eu.kanade.tachiyomi.data.glide.MangaModelLoader
 import eu.kanade.tachiyomi.data.library.LibraryUpdateService
 import eu.kanade.tachiyomi.data.mangasync.UpdateMangaSyncService
 import eu.kanade.tachiyomi.data.mangasync.base.MangaSyncService
-import eu.kanade.tachiyomi.data.source.base.OnlineSource
-import eu.kanade.tachiyomi.data.source.base.Source
+import eu.kanade.tachiyomi.data.source.Source
+import eu.kanade.tachiyomi.data.source.online.OnlineSource
 import eu.kanade.tachiyomi.data.updater.UpdateDownloader
 import eu.kanade.tachiyomi.injection.module.AppModule
 import eu.kanade.tachiyomi.injection.module.DataModule

+ 0 - 78
app/src/main/java/eu/kanade/tachiyomi/ui/base/decoration/DividerItemDecoration.java

@@ -1,78 +0,0 @@
-package eu.kanade.tachiyomi.ui.base.decoration;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-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;
-
-public class DividerItemDecoration extends RecyclerView.ItemDecoration {
-
-    private final Drawable mDivider;
-
-    public DividerItemDecoration(Context context, AttributeSet attrs) {
-        final TypedArray a = context.obtainStyledAttributes(attrs, new int [] { android.R.attr.listDivider });
-        mDivider = a.getDrawable(0);
-        a.recycle();
-    }
-
-    public DividerItemDecoration(Drawable divider) { mDivider = divider; }
-
-    @Override
-    public void getItemOffsets (Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
-        super.getItemOffsets(outRect, view, parent, state);
-        if (mDivider == null) return;
-        if (parent.getChildPosition(view) < 1) return;
-
-        if (getOrientation(parent) == LinearLayoutManager.VERTICAL) outRect.top = mDivider.getIntrinsicHeight();
-        else outRect.left = mDivider.getIntrinsicWidth();
-    }
-
-    @Override
-    public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
-        if (mDivider == null) { super.onDrawOver(c, parent, state); return; }
-
-        if (getOrientation(parent) == LinearLayoutManager.VERTICAL) {
-            final int left = parent.getPaddingLeft();
-            final int right = parent.getWidth() - parent.getPaddingRight();
-            final int childCount = parent.getChildCount();
-            final int dividerHeight = mDivider.getIntrinsicHeight();
-
-            for (int i=1; i < childCount; i++) {
-                final View child = parent.getChildAt(i);
-                final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();
-                final int ty = (int)(child.getTranslationY() + 0.5f);
-                final int top = child.getTop() - params.topMargin + ty;
-                final int bottom = top + dividerHeight;
-                mDivider.setBounds(left, top, right, bottom);
-                mDivider.draw(c);
-            }
-        } else { //horizontal
-            final int top = parent.getPaddingTop();
-            final int bottom = parent.getHeight() - parent.getPaddingBottom();
-            final int childCount = parent.getChildCount();
-
-            for (int i=1; i < childCount; i++) {
-                final View child = parent.getChildAt(i);
-                final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();
-                final int size = mDivider.getIntrinsicWidth();
-                final int left = child.getLeft() - params.leftMargin;
-                final int right = left + size;
-                mDivider.setBounds(left, top, right, bottom);
-                mDivider.draw(c);
-            }
-        }
-    }
-
-    private int getOrientation(RecyclerView parent) {
-        if (parent.getLayoutManager() instanceof LinearLayoutManager) {
-            LinearLayoutManager layoutManager = (LinearLayoutManager) parent.getLayoutManager();
-            return layoutManager.getOrientation();
-        } else throw new IllegalStateException("DividerItemDecoration can only be used with a LinearLayoutManager.");
-    }
-
-}

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

@@ -16,13 +16,13 @@ import com.f2prateek.rx.preferences.Preference
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.ui.base.adapter.FlexibleViewHolder
-import eu.kanade.tachiyomi.ui.base.decoration.DividerItemDecoration
 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.NpaLinearLayoutManager
 import kotlinx.android.synthetic.main.fragment_catalogue.*

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

@@ -7,10 +7,10 @@ import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
 import eu.kanade.tachiyomi.data.preference.getOrDefault
 import eu.kanade.tachiyomi.data.source.EN
+import eu.kanade.tachiyomi.data.source.Source
 import eu.kanade.tachiyomi.data.source.SourceManager
-import eu.kanade.tachiyomi.data.source.base.OnlineSource
-import eu.kanade.tachiyomi.data.source.base.Source
 import eu.kanade.tachiyomi.data.source.model.MangasPage
+import eu.kanade.tachiyomi.data.source.online.OnlineSource
 import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
 import eu.kanade.tachiyomi.util.RxPager
 import rx.Observable

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

@@ -14,7 +14,6 @@ import eu.kanade.tachiyomi.data.database.models.Chapter
 import eu.kanade.tachiyomi.data.database.models.Manga
 import eu.kanade.tachiyomi.data.download.model.Download
 import eu.kanade.tachiyomi.ui.base.adapter.FlexibleViewHolder
-import eu.kanade.tachiyomi.ui.base.decoration.DividerItemDecoration
 import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment
 import eu.kanade.tachiyomi.ui.manga.MangaActivity
 import eu.kanade.tachiyomi.ui.reader.ReaderActivity
@@ -22,6 +21,7 @@ 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 eu.kanade.tachiyomi.widget.NpaLinearLayoutManager
 import kotlinx.android.synthetic.main.fragment_manga_chapters.*
 import nucleus.factory.RequiresPresenter

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt

@@ -8,8 +8,8 @@ import eu.kanade.tachiyomi.data.download.DownloadManager
 import eu.kanade.tachiyomi.data.download.DownloadService
 import eu.kanade.tachiyomi.data.download.model.Download
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
+import eu.kanade.tachiyomi.data.source.Source
 import eu.kanade.tachiyomi.data.source.SourceManager
-import eu.kanade.tachiyomi.data.source.base.Source
 import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
 import eu.kanade.tachiyomi.ui.manga.MangaEvent
 import eu.kanade.tachiyomi.ui.manga.info.ChapterCountEvent

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoFragment.kt

@@ -8,8 +8,8 @@ import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.database.models.Manga
-import eu.kanade.tachiyomi.data.source.base.OnlineSource
-import eu.kanade.tachiyomi.data.source.base.Source
+import eu.kanade.tachiyomi.data.source.Source
+import eu.kanade.tachiyomi.data.source.online.OnlineSource
 import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment
 import eu.kanade.tachiyomi.util.getResourceColor
 import eu.kanade.tachiyomi.util.toast

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.kt

@@ -4,8 +4,8 @@ import android.os.Bundle
 import eu.kanade.tachiyomi.data.cache.CoverCache
 import eu.kanade.tachiyomi.data.database.DatabaseHelper
 import eu.kanade.tachiyomi.data.database.models.Manga
+import eu.kanade.tachiyomi.data.source.Source
 import eu.kanade.tachiyomi.data.source.SourceManager
-import eu.kanade.tachiyomi.data.source.base.Source
 import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
 import eu.kanade.tachiyomi.ui.manga.MangaEvent
 import eu.kanade.tachiyomi.util.SharedData

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/manga/myanimelist/MyAnimeListDialogFragment.kt

@@ -7,7 +7,7 @@ import android.view.View
 import com.afollestad.materialdialogs.MaterialDialog
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.database.models.MangaSync
-import eu.kanade.tachiyomi.ui.base.listener.SimpleTextWatcher
+import eu.kanade.tachiyomi.widget.SimpleTextWatcher
 import kotlinx.android.synthetic.main.dialog_myanimelist_search.view.*
 import rx.Subscription
 import rx.android.schedulers.AndroidSchedulers

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt

@@ -22,8 +22,6 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper
 import eu.kanade.tachiyomi.data.preference.getOrDefault
 import eu.kanade.tachiyomi.data.source.model.Page
 import eu.kanade.tachiyomi.ui.base.activity.BaseRxActivity
-import eu.kanade.tachiyomi.ui.base.listener.SimpleAnimationListener
-import eu.kanade.tachiyomi.ui.base.listener.SimpleSeekBarListener
 import eu.kanade.tachiyomi.ui.reader.viewer.base.BaseReader
 import eu.kanade.tachiyomi.ui.reader.viewer.pager.horizontal.LeftToRightReader
 import eu.kanade.tachiyomi.ui.reader.viewer.pager.horizontal.RightToLeftReader
@@ -32,6 +30,8 @@ import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonReader
 import eu.kanade.tachiyomi.util.GLUtil
 import eu.kanade.tachiyomi.util.SharedData
 import eu.kanade.tachiyomi.util.toast
+import eu.kanade.tachiyomi.widget.SimpleAnimationListener
+import eu.kanade.tachiyomi.widget.SimpleSeekBarListener
 import kotlinx.android.synthetic.main.activity_reader.*
 import kotlinx.android.synthetic.main.reader_menu.*
 import nucleus.factory.RequiresPresenter

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPopupMenu.kt

@@ -10,7 +10,7 @@ import com.afollestad.materialdialogs.MaterialDialog
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
 import eu.kanade.tachiyomi.data.preference.getOrDefault
-import eu.kanade.tachiyomi.ui.base.listener.SimpleSeekBarListener
+import eu.kanade.tachiyomi.widget.SimpleSeekBarListener
 import kotlinx.android.synthetic.main.reader_popup.view.*
 import java.lang.ref.WeakReference
 

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderPresenter.kt

@@ -11,10 +11,10 @@ import eu.kanade.tachiyomi.data.download.model.Download
 import eu.kanade.tachiyomi.data.mangasync.MangaSyncManager
 import eu.kanade.tachiyomi.data.mangasync.UpdateMangaSyncService
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
+import eu.kanade.tachiyomi.data.source.Source
 import eu.kanade.tachiyomi.data.source.SourceManager
-import eu.kanade.tachiyomi.data.source.base.OnlineSource
-import eu.kanade.tachiyomi.data.source.base.Source
 import eu.kanade.tachiyomi.data.source.model.Page
+import eu.kanade.tachiyomi.data.source.online.OnlineSource
 import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter
 import eu.kanade.tachiyomi.util.SharedData
 import rx.Observable

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/recent/RecentChaptersFragment.kt

@@ -9,12 +9,12 @@ import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.database.models.MangaChapter
 import eu.kanade.tachiyomi.data.download.model.Download
 import eu.kanade.tachiyomi.ui.base.adapter.FlexibleViewHolder
-import eu.kanade.tachiyomi.ui.base.decoration.DividerItemDecoration
 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 eu.kanade.tachiyomi.widget.NpaLinearLayoutManager
 import kotlinx.android.synthetic.main.fragment_recent_chapters.*
 import nucleus.factory.RequiresPresenter

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsSourcesFragment.kt

@@ -7,7 +7,7 @@ import android.support.v7.preference.Preference
 import android.support.v7.preference.PreferenceGroup
 import android.view.View
 import eu.kanade.tachiyomi.data.preference.getOrDefault
-import eu.kanade.tachiyomi.data.source.base.Source
+import eu.kanade.tachiyomi.data.source.Source
 import eu.kanade.tachiyomi.data.source.getLanguages
 import eu.kanade.tachiyomi.widget.preference.LoginPreference
 import eu.kanade.tachiyomi.widget.preference.SourceLoginDialog

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/util/ChapterSourceSync.kt

@@ -3,8 +3,8 @@ package eu.kanade.tachiyomi.util
 import eu.kanade.tachiyomi.data.database.DatabaseHelper
 import eu.kanade.tachiyomi.data.database.models.Chapter
 import eu.kanade.tachiyomi.data.database.models.Manga
-import eu.kanade.tachiyomi.data.source.base.OnlineSource
-import eu.kanade.tachiyomi.data.source.base.Source
+import eu.kanade.tachiyomi.data.source.Source
+import eu.kanade.tachiyomi.data.source.online.OnlineSource
 import java.util.*
 
 /**

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

@@ -0,0 +1,83 @@
+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.")
+    }
+
+}

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/base/fab/FABAnimationBase.kt → app/src/main/java/eu/kanade/tachiyomi/widget/FABAnimationBase.kt

@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.ui.base.fab
+package eu.kanade.tachiyomi.widget
 
 import android.support.design.widget.CoordinatorLayout
 import android.support.design.widget.FloatingActionButton

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/base/fab/FABAnimationUpDown.kt → app/src/main/java/eu/kanade/tachiyomi/widget/FABAnimationUpDown.kt

@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.ui.base.fab
+package eu.kanade.tachiyomi.widget
 
 import android.content.Context
 import android.support.design.widget.FloatingActionButton

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/base/listener/SimpleAnimationListener.kt → app/src/main/java/eu/kanade/tachiyomi/widget/SimpleAnimationListener.kt

@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.ui.base.listener
+package eu.kanade.tachiyomi.widget
 
 import android.view.animation.Animation
 

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/base/listener/SimpleSeekBarListener.kt → app/src/main/java/eu/kanade/tachiyomi/widget/SimpleSeekBarListener.kt

@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.ui.base.listener
+package eu.kanade.tachiyomi.widget
 
 import android.widget.SeekBar
 

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/base/listener/SimpleTextWatcher.kt → app/src/main/java/eu/kanade/tachiyomi/widget/SimpleTextWatcher.kt

@@ -1,4 +1,4 @@
-package eu.kanade.tachiyomi.ui.base.listener
+package eu.kanade.tachiyomi.widget
 
 import android.text.Editable
 import android.text.TextWatcher

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginDialogPreference.kt

@@ -11,8 +11,8 @@ import com.afollestad.materialdialogs.MaterialDialog
 import com.dd.processbutton.iml.ActionProcessButton
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
-import eu.kanade.tachiyomi.ui.base.listener.SimpleTextWatcher
 import eu.kanade.tachiyomi.ui.setting.SettingsActivity
+import eu.kanade.tachiyomi.widget.SimpleTextWatcher
 import kotlinx.android.synthetic.main.pref_account_login.view.*
 import rx.Subscription
 

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/widget/preference/SourceLoginDialog.kt

@@ -3,8 +3,8 @@ package eu.kanade.tachiyomi.widget.preference
 import android.os.Bundle
 import android.view.View
 import eu.kanade.tachiyomi.R
-import eu.kanade.tachiyomi.data.source.base.OnlineSource
-import eu.kanade.tachiyomi.data.source.base.Source
+import eu.kanade.tachiyomi.data.source.Source
+import eu.kanade.tachiyomi.data.source.online.OnlineSource
 import eu.kanade.tachiyomi.ui.setting.SettingsActivity
 import eu.kanade.tachiyomi.util.toast
 import kotlinx.android.synthetic.main.pref_account_login.view.*

+ 1 - 1
app/src/main/res/values/styles.xml

@@ -134,7 +134,7 @@
         <item name="android:scaleType">fitCenter</item>
         <item name="layout_anchorGravity">bottom|right|end</item>
         <item name="android:tint">@color/md_white_1000</item>
-        <item name="layout_behavior">eu.kanade.tachiyomi.ui.base.fab.FABAnimationUpDown</item>
+        <item name="layout_behavior">eu.kanade.tachiyomi.widget.FABAnimationUpDown</item>
     </style>
 
     <style name="Theme.Widget.GridView">

+ 1 - 1
app/src/test/java/eu/kanade/tachiyomi/data/library/LibraryUpdateServiceTest.java

@@ -17,7 +17,7 @@ import eu.kanade.tachiyomi.BuildConfig;
 import eu.kanade.tachiyomi.CustomRobolectricGradleTestRunner;
 import eu.kanade.tachiyomi.data.database.models.Chapter;
 import eu.kanade.tachiyomi.data.database.models.Manga;
-import eu.kanade.tachiyomi.data.source.base.OnlineSource;
+import eu.kanade.tachiyomi.data.source.online.OnlineSource;
 import rx.Observable;
 
 import static org.assertj.core.api.Assertions.assertThat;