diff --git a/app/src/main/java/com/hippo/ehviewer/client/data/GalleryDetail.kt b/app/src/main/java/com/hippo/ehviewer/client/data/GalleryDetail.kt index 963653e99..3e2ea37be 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/data/GalleryDetail.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/data/GalleryDetail.kt @@ -13,99 +13,60 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +package com.hippo.ehviewer.client.data -package com.hippo.ehviewer.client.data; +import kotlinx.parcelize.Parcelize -import android.os.Parcel; -import android.os.Parcelable; +@Parcelize // This is wrong Parcelize usage, TODO: use delegate and move galleryinfo to primary constructor +class GalleryDetail( + @JvmField + var apiUid: Long = -1L, -import java.util.ArrayList; -import java.util.Arrays; + @JvmField + var apiKey: String? = null, -public class GalleryDetail extends GalleryInfo { + @JvmField + var torrentCount: Int = 0, - public static final Creator CREATOR = new Creator() { - @Override - public GalleryDetail createFromParcel(Parcel source) { - return new GalleryDetail(source); - } + @JvmField + var torrentUrl: String? = null, - @Override - public GalleryDetail[] newArray(int size) { - return new GalleryDetail[size]; - } - }; - public long apiUid = -1L; - public String apiKey; - public int torrentCount; - public String torrentUrl; - public String archiveUrl; - public String parent; - public ArrayList newerVersions = new ArrayList<>(); - public String visible; - public String language; - public String size; - public int pages; - public int favoriteCount; - public boolean isFavorited; - public int ratingCount; - public GalleryTagGroup[] tags; - public GalleryCommentList comments; - public int previewPages; - public PreviewSet previewSet; + @JvmField + var archiveUrl: String? = null, - public GalleryDetail() { - } + @JvmField + var parent: String? = null, - protected GalleryDetail(Parcel in) { - super(in); - this.torrentCount = in.readInt(); - this.torrentUrl = in.readString(); - this.archiveUrl = in.readString(); - this.parent = in.readString(); - //noinspection unchecked - this.newerVersions = in.readArrayList(GalleryInfo.class.getClassLoader()); - this.visible = in.readString(); - this.language = in.readString(); - this.size = in.readString(); - this.pages = in.readInt(); - this.favoriteCount = in.readInt(); - this.isFavorited = in.readByte() != 0; - this.ratingCount = in.readInt(); - Parcelable[] array = in.readParcelableArray(GalleryTagGroup.class.getClassLoader()); - if (array != null) { - this.tags = Arrays.copyOf(array, array.length, GalleryTagGroup[].class); - } else { - this.tags = null; - } - this.comments = in.readParcelable(getClass().getClassLoader()); - this.previewPages = in.readInt(); - this.previewSet = in.readParcelable(PreviewSet.class.getClassLoader()); - } + @JvmField + var newerVersions: ArrayList = ArrayList(), - @Override - public int describeContents() { - return 0; - } + @JvmField + var visible: String? = null, - @Override - public void writeToParcel(Parcel dest, int flags) { - super.writeToParcel(dest, flags); - dest.writeInt(this.torrentCount); - dest.writeString(this.torrentUrl); - dest.writeString(this.archiveUrl); - dest.writeString(this.parent); - dest.writeList(this.newerVersions); - dest.writeString(this.visible); - dest.writeString(this.language); - dest.writeString(this.size); - dest.writeInt(this.pages); - dest.writeInt(this.favoriteCount); - dest.writeByte(isFavorited ? (byte) 1 : (byte) 0); - dest.writeInt(this.ratingCount); - dest.writeParcelableArray(this.tags, flags); - dest.writeParcelable(this.comments, flags); - dest.writeInt(this.previewPages); - dest.writeParcelable(previewSet, flags); - } -} + @JvmField + var language: String? = null, + + @JvmField + var size: String? = null, + + @JvmField + var favoriteCount: Int = 0, + + @JvmField + var isFavorited: Boolean = false, + + @JvmField + var ratingCount: Int = 0, + + @JvmField + var tags: Array? = null, + + @JvmField + var comments: GalleryCommentList? = null, + + @JvmField + var previewPages: Int = 0, + + @JvmField + var previewSet: PreviewSet? = null, +) : GalleryInfo() \ No newline at end of file diff --git a/app/src/main/java/com/hippo/ehviewer/client/data/GalleryInfo.kt b/app/src/main/java/com/hippo/ehviewer/client/data/GalleryInfo.kt index 0afe1506f..bf3167599 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/data/GalleryInfo.kt +++ b/app/src/main/java/com/hippo/ehviewer/client/data/GalleryInfo.kt @@ -13,42 +13,149 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +package com.hippo.ehviewer.client.data -package com.hippo.ehviewer.client.data; +import android.os.Parcelable +import androidx.room.ColumnInfo +import androidx.room.Ignore +import androidx.room.PrimaryKey +import kotlinx.parcelize.Parcelize +import java.util.regex.Pattern -import android.os.Parcel; -import android.os.Parcelable; +@Parcelize +open class GalleryInfo( + @JvmField + @PrimaryKey + @ColumnInfo(name = "GID") + var gid: Long = 0, -import androidx.annotation.Nullable; -import androidx.room.ColumnInfo; -import androidx.room.Ignore; -import androidx.room.PrimaryKey; + @JvmField + @ColumnInfo(name = "TOKEN") + var token: String? = null, -import java.util.regex.Pattern; + @JvmField + @ColumnInfo(name = "TITLE") + var title: String? = null, -public class GalleryInfo implements Parcelable { + @JvmField + @ColumnInfo(name = "TITLE_JPN") + var titleJpn: String? = null, + + @JvmField + @ColumnInfo(name = "THUMB") + var thumb: String? = null, + + @JvmField + @ColumnInfo(name = "CATEGORY") + var category: Int = 0, + + @JvmField + @ColumnInfo(name = "POSTED") + var posted: String? = null, + + @JvmField + @ColumnInfo(name = "UPLOADER") + var uploader: String? = null, + + @JvmField + @Ignore + var disowned: Boolean = false, + + @JvmField + @ColumnInfo(name = "RATING") + var rating: Float = 0f, + + @JvmField + @Ignore + var rated: Boolean = false, + + @JvmField + @Ignore + var simpleTags: Array? = null, + + @JvmField + @Ignore + var pages: Int = 0, + + @JvmField + @Ignore + var thumbWidth: Int = 0, + + @JvmField + @Ignore + var thumbHeight: Int = 0, + + @Ignore + var spanSize: Int = 0, + + @Ignore + var spanIndex: Int = 0, + + @Ignore + var spanGroupIndex: Int = 0, /** - * ISO 639-1 + * language from title */ - @SuppressWarnings("unused") - public static final String S_LANG_JA = "JA"; - public static final String S_LANG_EN = "EN"; - public static final String S_LANG_ZH = "ZH"; - public static final String S_LANG_NL = "NL"; - public static final String S_LANG_FR = "FR"; - public static final String S_LANG_DE = "DE"; - public static final String S_LANG_HU = "HU"; - public static final String S_LANG_IT = "IT"; - public static final String S_LANG_KO = "KO"; - public static final String S_LANG_PL = "PL"; - public static final String S_LANG_PT = "PT"; - public static final String S_LANG_RU = "RU"; - public static final String S_LANG_ES = "ES"; - public static final String S_LANG_TH = "TH"; - public static final String S_LANG_VI = "VI"; + @JvmField + @ColumnInfo(name = "SIMPLE_LANGUAGE") + var simpleLanguage: String? = null, - public static final String[] S_LANGS = { + @JvmField + @Ignore + var favoriteSlot: Int = -2, + + @JvmField + @Ignore + var favoriteName: String? = null + +) : Parcelable { + fun generateSLang() { + simpleLanguage = simpleTags?.let { generateSLangFromTags(it) } ?: title?.let { generateSLangFromTitle(it) } + } + + private fun generateSLangFromTags(simpleTags: Array): String? { + for (tag in simpleTags) { + for (i in S_LANGS.indices) { + if (S_LANG_TAGS[i] == tag) { + return S_LANGS[i] + } + } + } + return null + } + + private fun generateSLangFromTitle(title: String): String? { + for (i in S_LANGS.indices) { + if (S_LANG_PATTERNS[i].matcher(title).find()) { + return S_LANGS[i] + } + } + return null + } + + companion object { + /** + * ISO 639-1 + */ + const val S_LANG_JA = "JA" + const val S_LANG_EN = "EN" + const val S_LANG_ZH = "ZH" + const val S_LANG_NL = "NL" + const val S_LANG_FR = "FR" + const val S_LANG_DE = "DE" + const val S_LANG_HU = "HU" + const val S_LANG_IT = "IT" + const val S_LANG_KO = "KO" + const val S_LANG_PL = "PL" + const val S_LANG_PT = "PT" + const val S_LANG_RU = "RU" + const val S_LANG_ES = "ES" + const val S_LANG_TH = "TH" + const val S_LANG_VI = "VI" + + @JvmField + val S_LANGS = arrayOf( S_LANG_EN, S_LANG_ZH, S_LANG_ES, @@ -62,28 +169,40 @@ public class GalleryInfo implements Parcelable { S_LANG_VI, S_LANG_PL, S_LANG_HU, - S_LANG_NL, - }; - - public static final Pattern[] S_LANG_PATTERNS = { - Pattern.compile("[(\\[]eng(?:lish)?[)\\]]|英訳", Pattern.CASE_INSENSITIVE), - // [((\[]ch(?:inese)?[))\]]|[汉漢]化|中[国國][语語]|中文|中国翻訳 - Pattern.compile("[(\uFF08\\[]ch(?:inese)?[)\uFF09\\]]|[汉漢]化|中[国國][语語]|中文|中国翻訳", Pattern.CASE_INSENSITIVE), - Pattern.compile("[(\\[]spanish[)\\]]|[(\\[]Español[)\\]]|スペイン翻訳", Pattern.CASE_INSENSITIVE), + S_LANG_NL + ) + val S_LANG_PATTERNS = arrayOf( + Pattern.compile( + "[(\\[]eng(?:lish)?[)\\]]|英訳", + Pattern.CASE_INSENSITIVE + ), // [((\[]ch(?:inese)?[))\]]|[汉漢]化|中[国國][语語]|中文|中国翻訳 + Pattern.compile( + "[(\uFF08\\[]ch(?:inese)?[)\uFF09\\]]|[汉漢]化|中[国國][语語]|中文|中国翻訳", + Pattern.CASE_INSENSITIVE + ), + Pattern.compile( + "[(\\[]spanish[)\\]]|[(\\[]Español[)\\]]|スペイン翻訳", + Pattern.CASE_INSENSITIVE + ), Pattern.compile("[(\\[]korean?[)\\]]|韓国翻訳", Pattern.CASE_INSENSITIVE), Pattern.compile("[(\\[]rus(?:sian)?[)\\]]|ロシア翻訳", Pattern.CASE_INSENSITIVE), Pattern.compile("[(\\[]fr(?:ench)?[)\\]]|フランス翻訳", Pattern.CASE_INSENSITIVE), Pattern.compile("[(\\[]portuguese|ポルトガル翻訳", Pattern.CASE_INSENSITIVE), - Pattern.compile("[(\\[]thai(?: ภาษาไทย)?[)\\]]|แปลไทย|タイ翻訳", Pattern.CASE_INSENSITIVE), + Pattern.compile( + "[(\\[]thai(?: ภาษาไทย)?[)\\]]|แปลไทย|タイ翻訳", + Pattern.CASE_INSENSITIVE + ), Pattern.compile("[(\\[]german[)\\]]|ドイツ翻訳", Pattern.CASE_INSENSITIVE), Pattern.compile("[(\\[]italiano?[)\\]]|イタリア翻訳", Pattern.CASE_INSENSITIVE), - Pattern.compile("[(\\[]vietnamese(?: Tiếng Việt)?[)\\]]|ベトナム翻訳", Pattern.CASE_INSENSITIVE), + Pattern.compile( + "[(\\[]vietnamese(?: Tiếng Việt)?[)\\]]|ベトナム翻訳", + Pattern.CASE_INSENSITIVE + ), Pattern.compile("[(\\[]polish[)\\]]|ポーランド翻訳", Pattern.CASE_INSENSITIVE), Pattern.compile("[(\\[]hun(?:garian)?[)\\]]|ハンガリー翻訳", Pattern.CASE_INSENSITIVE), - Pattern.compile("[(\\[]dutch[)\\]]|オランダ翻訳", Pattern.CASE_INSENSITIVE), - }; - - public static final String[] S_LANG_TAGS = { + Pattern.compile("[(\\[]dutch[)\\]]|オランダ翻訳", Pattern.CASE_INSENSITIVE) + ) + val S_LANG_TAGS = arrayOf( "language:english", "language:chinese", "language:spanish", @@ -97,151 +216,7 @@ public class GalleryInfo implements Parcelable { "language:vietnamese", "language:polish", "language:hungarian", - "language:dutch", - }; - public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { - - @Override - public GalleryInfo createFromParcel(Parcel source) { - return new GalleryInfo(source); - } - - @Override - public GalleryInfo[] newArray(int size) { - return new GalleryInfo[size]; - } - }; - @PrimaryKey - @ColumnInfo(name = "GID") - public long gid; - @ColumnInfo(name = "TOKEN") - public String token; - @ColumnInfo(name = "TITLE") - public String title; - @ColumnInfo(name = "TITLE_JPN") - public String titleJpn; - @ColumnInfo(name = "THUMB") - public String thumb; - @ColumnInfo(name = "CATEGORY") - public int category; - @ColumnInfo(name = "POSTED") - public String posted; - @ColumnInfo(name = "UPLOADER") - public String uploader; - @Ignore - public boolean disowned; - @ColumnInfo(name = "RATING") - public float rating; - @Ignore - public boolean rated; - @Nullable - @Ignore - public String[] simpleTags; - @Ignore - public int pages; - @Ignore - public int thumbWidth; - @Ignore - public int thumbHeight; - @Ignore - public int spanSize; - @Ignore - public int spanIndex; - @Ignore - public int spanGroupIndex; - /** - * language from title - */ - @ColumnInfo(name = "SIMPLE_LANGUAGE") - public String simpleLanguage; - @Ignore - public int favoriteSlot = -2; - @Ignore - public String favoriteName; - - public GalleryInfo() { + "language:dutch" + ) } - - protected GalleryInfo(Parcel in) { - this.gid = in.readLong(); - this.token = in.readString(); - this.title = in.readString(); - this.titleJpn = in.readString(); - this.thumb = in.readString(); - this.category = in.readInt(); - this.posted = in.readString(); - this.uploader = in.readString(); - this.rating = in.readFloat(); - this.rated = in.readByte() != 0; - this.simpleLanguage = in.readString(); - this.simpleTags = in.createStringArray(); - this.thumbWidth = in.readInt(); - this.thumbHeight = in.readInt(); - this.spanSize = in.readInt(); - this.spanIndex = in.readInt(); - this.spanGroupIndex = in.readInt(); - this.favoriteSlot = in.readInt(); - this.favoriteName = in.readString(); - this.disowned = in.readByte() != 0; - } - - public final void generateSLang() { - if (simpleTags != null) { - generateSLangFromTags(); - } - if (simpleLanguage == null && title != null) { - generateSLangFromTitle(); - } - } - - private void generateSLangFromTags() { - assert simpleTags != null; - for (String tag : simpleTags) { - for (int i = 0; i < S_LANGS.length; i++) { - if (S_LANG_TAGS[i].equals(tag)) { - simpleLanguage = S_LANGS[i]; - return; - } - } - } - } - - private void generateSLangFromTitle() { - for (int i = 0; i < S_LANGS.length; i++) { - if (S_LANG_PATTERNS[i].matcher(title).find()) { - simpleLanguage = S_LANGS[i]; - return; - } - } - simpleLanguage = null; - } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeLong(this.gid); - dest.writeString(this.token); - dest.writeString(this.title); - dest.writeString(this.titleJpn); - dest.writeString(this.thumb); - dest.writeInt(this.category); - dest.writeString(this.posted); - dest.writeString(this.uploader); - dest.writeFloat(this.rating); - dest.writeByte(this.rated ? (byte) 1 : (byte) 0); - dest.writeString(this.simpleLanguage); - dest.writeStringArray(this.simpleTags); - dest.writeInt(this.thumbWidth); - dest.writeInt(this.thumbHeight); - dest.writeInt(this.spanSize); - dest.writeInt(this.spanIndex); - dest.writeInt(this.spanGroupIndex); - dest.writeInt(this.favoriteSlot); - dest.writeString(this.favoriteName); - dest.writeByte(this.disowned ? (byte) 1 : (byte) 0); - } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/hippo/ehviewer/dao/BookmarkInfo.java b/app/src/main/java/com/hippo/ehviewer/dao/BookmarkInfo.java index 73f529513..f55495324 100644 --- a/app/src/main/java/com/hippo/ehviewer/dao/BookmarkInfo.java +++ b/app/src/main/java/com/hippo/ehviewer/dao/BookmarkInfo.java @@ -1,7 +1,5 @@ package com.hippo.ehviewer.dao; -import android.os.Parcel; - import androidx.room.ColumnInfo; import androidx.room.Entity; @@ -9,28 +7,11 @@ import com.hippo.ehviewer.client.data.GalleryInfo; @Entity(tableName = "BOOKMARKS") public class BookmarkInfo extends GalleryInfo { - public static final Creator CREATOR = new Creator<>() { - @Override - public BookmarkInfo createFromParcel(Parcel source) { - return new BookmarkInfo(source); - } - - @Override - public BookmarkInfo[] newArray(int size) { - return new BookmarkInfo[size]; - } - }; @ColumnInfo(name = "PAGE") public int page; @ColumnInfo(name = "TIME") public long time; - protected BookmarkInfo(Parcel in) { - super(in); - this.page = in.readInt(); - this.time = in.readLong(); - } - public BookmarkInfo(GalleryInfo galleryInfo) { this.gid = galleryInfo.gid; this.token = galleryInfo.token; @@ -145,16 +126,4 @@ public class BookmarkInfo extends GalleryInfo { public void setTime(long time) { this.time = time; } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - super.writeToParcel(dest, flags); - dest.writeInt(this.page); - dest.writeLong(this.time); - } } diff --git a/app/src/main/java/com/hippo/ehviewer/dao/DownloadInfo.java b/app/src/main/java/com/hippo/ehviewer/dao/DownloadInfo.java index 58d8ebf6b..64084f446 100644 --- a/app/src/main/java/com/hippo/ehviewer/dao/DownloadInfo.java +++ b/app/src/main/java/com/hippo/ehviewer/dao/DownloadInfo.java @@ -1,7 +1,5 @@ package com.hippo.ehviewer.dao; -import android.os.Parcel; - import androidx.room.ColumnInfo; import androidx.room.Entity; import androidx.room.Ignore; @@ -10,17 +8,6 @@ import com.hippo.ehviewer.client.data.GalleryInfo; @Entity(tableName = "DOWNLOADS") public class DownloadInfo extends GalleryInfo { - public static final Creator CREATOR = new Creator<>() { - @Override - public DownloadInfo createFromParcel(Parcel source) { - return new DownloadInfo(source); - } - - @Override - public DownloadInfo[] newArray(int size) { - return new DownloadInfo[size]; - } - }; public static final int STATE_INVALID = -1; public static final int STATE_NONE = 0; public static final int STATE_WAIT = 1; @@ -49,14 +36,6 @@ public class DownloadInfo extends GalleryInfo { DownloadInfo() { } - protected DownloadInfo(Parcel in) { - super(in); - this.state = in.readInt(); - this.legacy = in.readInt(); - this.time = in.readLong(); - this.label = in.readString(); - } - public DownloadInfo(GalleryInfo galleryInfo) { this.gid = galleryInfo.gid; this.token = galleryInfo.token; @@ -196,20 +175,6 @@ public class DownloadInfo extends GalleryInfo { this.label = label; } - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - super.writeToParcel(dest, flags); - dest.writeInt(this.state); - dest.writeInt(this.legacy); - dest.writeLong(this.time); - dest.writeString(this.label); - } - public long getSpeed() { return this.speed; } diff --git a/app/src/main/java/com/hippo/ehviewer/dao/HistoryInfo.java b/app/src/main/java/com/hippo/ehviewer/dao/HistoryInfo.java index 834e16650..a03ad3909 100644 --- a/app/src/main/java/com/hippo/ehviewer/dao/HistoryInfo.java +++ b/app/src/main/java/com/hippo/ehviewer/dao/HistoryInfo.java @@ -1,7 +1,5 @@ package com.hippo.ehviewer.dao; -import android.os.Parcel; - import androidx.room.ColumnInfo; import androidx.room.Entity; @@ -9,29 +7,12 @@ import com.hippo.ehviewer.client.data.GalleryInfo; @Entity(tableName = "HISTORY") public class HistoryInfo extends GalleryInfo { - public static final Creator CREATOR = new Creator<>() { - @Override - public HistoryInfo createFromParcel(Parcel source) { - return new HistoryInfo(source); - } - - @Override - public HistoryInfo[] newArray(int size) { - return new HistoryInfo[size]; - } - }; @ColumnInfo(name = "TIME") public long time; // Use MODE for favoriteSlot @ColumnInfo(name = "MODE") private int mode; - protected HistoryInfo(Parcel in) { - super(in); - this.mode = in.readInt(); - this.time = in.readLong(); - } - public HistoryInfo(GalleryInfo galleryInfo) { this.gid = galleryInfo.gid; this.token = galleryInfo.token; @@ -147,16 +128,4 @@ public class HistoryInfo extends GalleryInfo { public void setTime(long time) { this.time = time; } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - super.writeToParcel(dest, flags); - dest.writeInt(this.mode); - dest.writeLong(this.time); - } } diff --git a/app/src/main/java/com/hippo/ehviewer/dao/LocalFavoriteInfo.java b/app/src/main/java/com/hippo/ehviewer/dao/LocalFavoriteInfo.java index 082e0f1a8..567909899 100644 --- a/app/src/main/java/com/hippo/ehviewer/dao/LocalFavoriteInfo.java +++ b/app/src/main/java/com/hippo/ehviewer/dao/LocalFavoriteInfo.java @@ -1,7 +1,5 @@ package com.hippo.ehviewer.dao; -import android.os.Parcel; - import androidx.room.ColumnInfo; import androidx.room.Entity; @@ -9,26 +7,9 @@ import com.hippo.ehviewer.client.data.GalleryInfo; @Entity(tableName = "LOCAL_FAVORITES") public class LocalFavoriteInfo extends GalleryInfo { - - public static final Creator CREATOR = new Creator<>() { - @Override - public LocalFavoriteInfo createFromParcel(Parcel source) { - return new LocalFavoriteInfo(source); - } - - @Override - public LocalFavoriteInfo[] newArray(int size) { - return new LocalFavoriteInfo[size]; - } - }; @ColumnInfo(name = "TIME") public long time; - protected LocalFavoriteInfo(Parcel in) { - super(in); - this.time = in.readLong(); - } - public LocalFavoriteInfo(GalleryInfo galleryInfo) { this.gid = galleryInfo.gid; this.token = galleryInfo.token; @@ -134,15 +115,4 @@ public class LocalFavoriteInfo extends GalleryInfo { public void setTime(long time) { this.time = time; } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - super.writeToParcel(dest, flags); - dest.writeLong(this.time); - } } diff --git a/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.kt b/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.kt index 5de5a5de2..62698a1f5 100644 --- a/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.kt +++ b/app/src/main/java/com/hippo/ehviewer/preference/RestoreDownloadPreference.kt @@ -17,8 +17,6 @@ package com.hippo.ehviewer.preference import android.app.Activity import android.content.Context -import android.os.Parcel -import android.os.Parcelable.Creator import android.util.AttributeSet import androidx.preference.Preference import com.hippo.ehviewer.EhApplication.Companion.downloadManager @@ -123,7 +121,10 @@ class RestoreDownloadPreference constructor( if (restoreDirCount == 0) mActivity.getString(R.string.settings_download_restore_not_found) else - mActivity.getString(R.string.settings_download_restore_successfully, restoreDirCount), + mActivity.getString( + R.string.settings_download_restore_successfully, + restoreDirCount + ), BaseScene.LENGTH_SHORT ) } else { @@ -143,7 +144,10 @@ class RestoreDownloadPreference constructor( i++ } showTip( - mActivity.getString(R.string.settings_download_restore_successfully, count + restoreDirCount), + mActivity.getString( + R.string.settings_download_restore_successfully, + count + restoreDirCount + ), BaseScene.LENGTH_SHORT ) val preference: Preference? = preference @@ -159,34 +163,7 @@ class RestoreDownloadPreference constructor( } } - private class RestoreItem : GalleryInfo { + private class RestoreItem : GalleryInfo() { var dirname: String? = null - - constructor() - constructor(`in`: Parcel) : super(`in`) { - dirname = `in`.readString() - } - - override fun describeContents(): Int { - return 0 - } - - override fun writeToParcel(dest: Parcel, flags: Int) { - super.writeToParcel(dest, flags) - dest.writeString(dirname) - } - - companion object { - @JvmField - val CREATOR: Creator = object : Creator { - override fun createFromParcel(source: Parcel): RestoreItem { - return RestoreItem(source) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } - } } } \ No newline at end of file diff --git a/app/src/main/java/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt b/app/src/main/java/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt index 889522e05..6db38479b 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/GalleryInfoBottomSheet.kt @@ -33,7 +33,7 @@ import com.hippo.util.tellClipboard class GalleryInfoBottomSheet(detail: GalleryDetail) : BottomSheetDialogFragment() { private var mKeys: ArrayList = arrayListOf() - private var mValues: ArrayList = arrayListOf() + private var mValues: ArrayList = arrayListOf() private var mRecyclerView: RecyclerView? = null private val mDetail: GalleryDetail = detail diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt index 8768b7d08..cdf96f5e6 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt @@ -403,7 +403,7 @@ class HistoryScene : BaseToolbarScene() { override fun onBindViewHolder(holder: HistoryHolder, position: Int) { val gi: GalleryInfo? = getItem(position) gi ?: return - holder.thumb.load(EhCacheKeyFactory.getThumbKey(gi.gid), gi.thumb) + holder.thumb.load(EhCacheKeyFactory.getThumbKey(gi.gid), gi.thumb!!) holder.title.text = EhUtils.getSuitableTitle(gi) holder.uploader.text = gi.uploader holder.rating.rating = gi.rating diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index 3d89b5a60..2a0bf7d51 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -182,7 +182,7 @@ class ReaderActivity : EhActivity() { val token: String if (mGalleryInfo != null) { gid = mGalleryInfo!!.gid - token = mGalleryInfo!!.token + token = mGalleryInfo!!.token!! } else { return null }