Browse Source

Minor classes restructuration and optimize imports

len 10 năm trước cách đây
mục cha
commit
0fe350af9a
44 tập tin đã thay đổi với 138 bổ sung và 131 xóa
  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;