diff --git a/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/NumberFormatDelegate.java b/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/text/NumberFormat.java similarity index 71% rename from AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/NumberFormatDelegate.java rename to AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/text/NumberFormat.java index 0b209085..3e255359 100644 --- a/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/NumberFormatDelegate.java +++ b/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/text/NumberFormat.java @@ -1,7 +1,6 @@ -package xyz.nulldev.androidcompat.replace; +package xyz.nulldev.androidcompat.replace.java.text; import com.ibm.icu.text.DisplayContext; -import com.ibm.icu.text.NumberFormat; import com.ibm.icu.util.Currency; import com.ibm.icu.util.CurrencyAmount; import com.ibm.icu.util.ULocale; @@ -14,10 +13,10 @@ import java.text.ParseException; import java.text.ParsePosition; import java.util.Locale; -public class NumberFormatDelegate extends java.text.NumberFormat { +public class NumberFormat extends java.text.NumberFormat { private com.ibm.icu.text.NumberFormat delegate; - public NumberFormatDelegate(com.ibm.icu.text.NumberFormat delegate) { + public NumberFormat(com.ibm.icu.text.NumberFormat delegate) { this.delegate = delegate; } @@ -102,55 +101,55 @@ public class NumberFormatDelegate extends java.text.NumberFormat { } public static java.text.NumberFormat getInstance(Locale inLocale) { - return new NumberFormatDelegate(NumberFormat.getInstance(inLocale)); + return new NumberFormat(com.ibm.icu.text.NumberFormat.getInstance(inLocale)); } - public static NumberFormat getInstance(ULocale inLocale) { - return NumberFormat.getInstance(inLocale); + public static com.ibm.icu.text.NumberFormat getInstance(ULocale inLocale) { + return com.ibm.icu.text.NumberFormat.getInstance(inLocale); } - public static NumberFormat getInstance(int style) { - return NumberFormat.getInstance(style); + public static com.ibm.icu.text.NumberFormat getInstance(int style) { + return com.ibm.icu.text.NumberFormat.getInstance(style); } - public static NumberFormat getInstance(Locale inLocale, int style) { - return NumberFormat.getInstance(inLocale, style); + public static com.ibm.icu.text.NumberFormat getInstance(Locale inLocale, int style) { + return com.ibm.icu.text.NumberFormat.getInstance(inLocale, style); } - public static NumberFormat getNumberInstance(ULocale inLocale) { - return NumberFormat.getNumberInstance(inLocale); + public static com.ibm.icu.text.NumberFormat getNumberInstance(ULocale inLocale) { + return com.ibm.icu.text.NumberFormat.getNumberInstance(inLocale); } - public static NumberFormat getIntegerInstance(ULocale inLocale) { - return NumberFormat.getIntegerInstance(inLocale); + public static com.ibm.icu.text.NumberFormat getIntegerInstance(ULocale inLocale) { + return com.ibm.icu.text.NumberFormat.getIntegerInstance(inLocale); } - public static NumberFormat getCurrencyInstance(ULocale inLocale) { - return NumberFormat.getCurrencyInstance(inLocale); + public static com.ibm.icu.text.NumberFormat getCurrencyInstance(ULocale inLocale) { + return com.ibm.icu.text.NumberFormat.getCurrencyInstance(inLocale); } - public static NumberFormat getPercentInstance(ULocale inLocale) { - return NumberFormat.getPercentInstance(inLocale); + public static com.ibm.icu.text.NumberFormat getPercentInstance(ULocale inLocale) { + return com.ibm.icu.text.NumberFormat.getPercentInstance(inLocale); } - public static NumberFormat getScientificInstance(ULocale inLocale) { - return NumberFormat.getScientificInstance(inLocale); + public static com.ibm.icu.text.NumberFormat getScientificInstance(ULocale inLocale) { + return com.ibm.icu.text.NumberFormat.getScientificInstance(inLocale); } public static Locale[] getAvailableLocales() { - return NumberFormat.getAvailableLocales(); + return com.ibm.icu.text.NumberFormat.getAvailableLocales(); } public static ULocale[] getAvailableULocales() { - return NumberFormat.getAvailableULocales(); + return com.ibm.icu.text.NumberFormat.getAvailableULocales(); } - public static Object registerFactory(NumberFormat.NumberFormatFactory factory) { - return NumberFormat.registerFactory(factory); + public static Object registerFactory(com.ibm.icu.text.NumberFormat.NumberFormatFactory factory) { + return com.ibm.icu.text.NumberFormat.registerFactory(factory); } public static boolean unregister(Object registryKey) { - return NumberFormat.unregister(registryKey); + return com.ibm.icu.text.NumberFormat.unregister(registryKey); } @Override @@ -220,13 +219,13 @@ public class NumberFormatDelegate extends java.text.NumberFormat { delegate.setRoundingMode(roundingMode); } - public static NumberFormat getInstance(ULocale desiredLocale, int choice) { - return NumberFormat.getInstance(desiredLocale, choice); + public static com.ibm.icu.text.NumberFormat getInstance(ULocale desiredLocale, int choice) { + return com.ibm.icu.text.NumberFormat.getInstance(desiredLocale, choice); } @Deprecated public static String getPatternForStyle(ULocale forLocale, int choice) { - return NumberFormat.getPatternForStyle(forLocale, choice); + return com.ibm.icu.text.NumberFormat.getPatternForStyle(forLocale, choice); } public ULocale getLocale(ULocale.Type type) { diff --git a/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/SimpleDateFormat.java b/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/text/SimpleDateFormat.java similarity index 76% rename from AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/SimpleDateFormat.java rename to AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/text/SimpleDateFormat.java index 521cefd3..42e618f0 100644 --- a/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/SimpleDateFormat.java +++ b/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/text/SimpleDateFormat.java @@ -1,12 +1,11 @@ -package xyz.nulldev.androidcompat.replace; +package xyz.nulldev.androidcompat.replace.java.text; import com.ibm.icu.text.DateFormatSymbols; import com.ibm.icu.text.DisplayContext; -import com.ibm.icu.text.NumberFormat; import com.ibm.icu.text.TimeZoneFormat; -import com.ibm.icu.util.Calendar; -import com.ibm.icu.util.TimeZone; import com.ibm.icu.util.ULocale; +import xyz.nulldev.androidcompat.replace.java.util.Calendar; +import xyz.nulldev.androidcompat.replace.java.util.TimeZone; import java.text.*; import java.util.Date; @@ -15,7 +14,7 @@ import java.util.Locale; /** * Overridden to switch to Android implementation */ -public class SimpleDateFormat extends DateFormat { +public class SimpleDateFormat extends java.text.DateFormat { private com.ibm.icu.text.SimpleDateFormat delegate; public SimpleDateFormat() { @@ -51,7 +50,7 @@ public class SimpleDateFormat extends DateFormat { } @Deprecated - public static SimpleDateFormat getInstance(Calendar.FormatConfiguration formatConfig) { + public static SimpleDateFormat getInstance(com.ibm.icu.util.Calendar.FormatConfiguration formatConfig) { return new SimpleDateFormat(com.ibm.icu.text.SimpleDateFormat.getInstance(formatConfig)); } @@ -67,15 +66,15 @@ public class SimpleDateFormat extends DateFormat { delegate.setContext(context); } - public StringBuffer format(Calendar cal, StringBuffer toAppendTo, FieldPosition pos) { + public StringBuffer format(com.ibm.icu.util.Calendar cal, StringBuffer toAppendTo, FieldPosition pos) { return delegate.format(cal, toAppendTo, pos); } - public void setNumberFormat(NumberFormat newNumberFormat) { + public void setNumberFormat(com.ibm.icu.text.NumberFormat newNumberFormat) { delegate.setNumberFormat(newNumberFormat); } - public void parse(String text, Calendar cal, ParsePosition parsePos) { + public void parse(String text, com.ibm.icu.util.Calendar cal, ParsePosition parsePos) { delegate.parse(text, cal, parsePos); } @@ -132,15 +131,15 @@ public class SimpleDateFormat extends DateFormat { } @Deprecated - public StringBuffer intervalFormatByAlgorithm(Calendar fromCalendar, Calendar toCalendar, StringBuffer appendTo, FieldPosition pos) throws IllegalArgumentException { + public StringBuffer intervalFormatByAlgorithm(com.ibm.icu.util.Calendar fromCalendar, com.ibm.icu.util.Calendar toCalendar, StringBuffer appendTo, FieldPosition pos) throws IllegalArgumentException { return delegate.intervalFormatByAlgorithm(fromCalendar, toCalendar, appendTo, pos); } - public void setNumberFormat(String fields, NumberFormat overrideNF) { + public void setNumberFormat(String fields, com.ibm.icu.text.NumberFormat overrideNF) { delegate.setNumberFormat(fields, overrideNF); } - public NumberFormat getNumberFormat(char field) { + public com.ibm.icu.text.NumberFormat getNumberFormat(char field) { return delegate.getNumberFormat(field); } @@ -186,29 +185,29 @@ public class SimpleDateFormat extends DateFormat { @Override public void setCalendar(java.util.Calendar newCalendar) { - Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(newCalendar.getTimeZone().getID())); + com.ibm.icu.util.Calendar cal = com.ibm.icu.util.Calendar.getInstance(com.ibm.icu.util.TimeZone.getTimeZone(newCalendar.getTimeZone().getID())); cal.setTimeInMillis(newCalendar.getTimeInMillis()); delegate.setCalendar(cal); } @Override public java.util.Calendar getCalendar() { - return new CalendarDelegate(delegate.getCalendar()); + return new Calendar(delegate.getCalendar()); } @Override public java.text.NumberFormat getNumberFormat() { - return new NumberFormatDelegate(delegate.getNumberFormat()); + return new NumberFormat(delegate.getNumberFormat()); } @Override public void setTimeZone(java.util.TimeZone zone) { - delegate.setTimeZone(TimeZone.getTimeZone(zone.getID())); + delegate.setTimeZone(com.ibm.icu.util.TimeZone.getTimeZone(zone.getID())); } @Override public java.util.TimeZone getTimeZone() { - return new TimeZoneDelegate(delegate.getTimeZone()); + return new TimeZone(delegate.getTimeZone()); } @Override @@ -241,51 +240,51 @@ public class SimpleDateFormat extends DateFormat { return delegate.getContext(type); } - public static com.ibm.icu.text.DateFormat getDateInstance(Calendar cal, int dateStyle, Locale locale) { + public static com.ibm.icu.text.DateFormat getDateInstance(com.ibm.icu.util.Calendar cal, int dateStyle, Locale locale) { return com.ibm.icu.text.DateFormat.getDateInstance(cal, dateStyle, locale); } - public static com.ibm.icu.text.DateFormat getDateInstance(Calendar cal, int dateStyle, ULocale locale) { + public static com.ibm.icu.text.DateFormat getDateInstance(com.ibm.icu.util.Calendar cal, int dateStyle, ULocale locale) { return com.ibm.icu.text.DateFormat.getDateInstance(cal, dateStyle, locale); } - public static com.ibm.icu.text.DateFormat getTimeInstance(Calendar cal, int timeStyle, Locale locale) { + public static com.ibm.icu.text.DateFormat getTimeInstance(com.ibm.icu.util.Calendar cal, int timeStyle, Locale locale) { return com.ibm.icu.text.DateFormat.getTimeInstance(cal, timeStyle, locale); } - public static com.ibm.icu.text.DateFormat getTimeInstance(Calendar cal, int timeStyle, ULocale locale) { + public static com.ibm.icu.text.DateFormat getTimeInstance(com.ibm.icu.util.Calendar cal, int timeStyle, ULocale locale) { return com.ibm.icu.text.DateFormat.getTimeInstance(cal, timeStyle, locale); } - public static com.ibm.icu.text.DateFormat getDateTimeInstance(Calendar cal, int dateStyle, int timeStyle, Locale locale) { + public static com.ibm.icu.text.DateFormat getDateTimeInstance(com.ibm.icu.util.Calendar cal, int dateStyle, int timeStyle, Locale locale) { return com.ibm.icu.text.DateFormat.getDateTimeInstance(cal, dateStyle, timeStyle, locale); } - public static com.ibm.icu.text.DateFormat getDateTimeInstance(Calendar cal, int dateStyle, int timeStyle, ULocale locale) { + public static com.ibm.icu.text.DateFormat getDateTimeInstance(com.ibm.icu.util.Calendar cal, int dateStyle, int timeStyle, ULocale locale) { return com.ibm.icu.text.DateFormat.getDateTimeInstance(cal, dateStyle, timeStyle, locale); } - public static com.ibm.icu.text.DateFormat getInstance(Calendar cal, Locale locale) { + public static com.ibm.icu.text.DateFormat getInstance(com.ibm.icu.util.Calendar cal, Locale locale) { return com.ibm.icu.text.DateFormat.getInstance(cal, locale); } - public static com.ibm.icu.text.DateFormat getInstance(Calendar cal, ULocale locale) { + public static com.ibm.icu.text.DateFormat getInstance(com.ibm.icu.util.Calendar cal, ULocale locale) { return com.ibm.icu.text.DateFormat.getInstance(cal, locale); } - public static com.ibm.icu.text.DateFormat getInstance(Calendar cal) { + public static com.ibm.icu.text.DateFormat getInstance(com.ibm.icu.util.Calendar cal) { return com.ibm.icu.text.DateFormat.getInstance(cal); } - public static com.ibm.icu.text.DateFormat getDateInstance(Calendar cal, int dateStyle) { + public static com.ibm.icu.text.DateFormat getDateInstance(com.ibm.icu.util.Calendar cal, int dateStyle) { return com.ibm.icu.text.DateFormat.getDateInstance(cal, dateStyle); } - public static com.ibm.icu.text.DateFormat getTimeInstance(Calendar cal, int timeStyle) { + public static com.ibm.icu.text.DateFormat getTimeInstance(com.ibm.icu.util.Calendar cal, int timeStyle) { return com.ibm.icu.text.DateFormat.getTimeInstance(cal, timeStyle); } - public static com.ibm.icu.text.DateFormat getDateTimeInstance(Calendar cal, int dateStyle, int timeStyle) { + public static com.ibm.icu.text.DateFormat getDateTimeInstance(com.ibm.icu.util.Calendar cal, int dateStyle, int timeStyle) { return com.ibm.icu.text.DateFormat.getDateTimeInstance(cal, dateStyle, timeStyle); } @@ -301,11 +300,11 @@ public class SimpleDateFormat extends DateFormat { return com.ibm.icu.text.DateFormat.getInstanceForSkeleton(skeleton, locale); } - public static com.ibm.icu.text.DateFormat getInstanceForSkeleton(Calendar cal, String skeleton, Locale locale) { + public static com.ibm.icu.text.DateFormat getInstanceForSkeleton(com.ibm.icu.util.Calendar cal, String skeleton, Locale locale) { return com.ibm.icu.text.DateFormat.getInstanceForSkeleton(cal, skeleton, locale); } - public static com.ibm.icu.text.DateFormat getInstanceForSkeleton(Calendar cal, String skeleton, ULocale locale) { + public static com.ibm.icu.text.DateFormat getInstanceForSkeleton(com.ibm.icu.util.Calendar cal, String skeleton, ULocale locale) { return com.ibm.icu.text.DateFormat.getInstanceForSkeleton(cal, skeleton, locale); } @@ -321,11 +320,11 @@ public class SimpleDateFormat extends DateFormat { return com.ibm.icu.text.DateFormat.getPatternInstance(skeleton, locale); } - public static com.ibm.icu.text.DateFormat getPatternInstance(Calendar cal, String skeleton, Locale locale) { + public static com.ibm.icu.text.DateFormat getPatternInstance(com.ibm.icu.util.Calendar cal, String skeleton, Locale locale) { return com.ibm.icu.text.DateFormat.getPatternInstance(cal, skeleton, locale); } - public static com.ibm.icu.text.DateFormat getPatternInstance(Calendar cal, String skeleton, ULocale locale) { + public static com.ibm.icu.text.DateFormat getPatternInstance(com.ibm.icu.util.Calendar cal, String skeleton, ULocale locale) { return com.ibm.icu.text.DateFormat.getPatternInstance(cal, skeleton, locale); } diff --git a/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/CalendarDelegate.java b/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/util/Calendar.java similarity index 90% rename from AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/CalendarDelegate.java rename to AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/util/Calendar.java index 9b31774d..b4c158a0 100644 --- a/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/CalendarDelegate.java +++ b/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/util/Calendar.java @@ -1,41 +1,39 @@ -package xyz.nulldev.androidcompat.replace; +package xyz.nulldev.androidcompat.replace.java.util; import com.ibm.icu.text.DateFormat; -import com.ibm.icu.util.TimeZone; import com.ibm.icu.util.ULocale; -import java.util.Calendar; import java.util.Date; import java.util.Locale; -public class CalendarDelegate extends Calendar { +public class Calendar extends java.util.Calendar { private com.ibm.icu.util.Calendar delegate; - public CalendarDelegate(com.ibm.icu.util.Calendar delegate) { + public Calendar(com.ibm.icu.util.Calendar delegate) { this.delegate = delegate; } public static java.util.Calendar getInstance() { - return new CalendarDelegate(com.ibm.icu.util.Calendar.getInstance()); + return new Calendar(com.ibm.icu.util.Calendar.getInstance()); } - public static com.ibm.icu.util.Calendar getInstance(TimeZone zone) { + public static com.ibm.icu.util.Calendar getInstance(com.ibm.icu.util.TimeZone zone) { return com.ibm.icu.util.Calendar.getInstance(zone); } public static java.util.Calendar getInstance(Locale aLocale) { - return new CalendarDelegate(com.ibm.icu.util.Calendar.getInstance(aLocale)); + return new Calendar(com.ibm.icu.util.Calendar.getInstance(aLocale)); } public static com.ibm.icu.util.Calendar getInstance(ULocale locale) { return com.ibm.icu.util.Calendar.getInstance(locale); } - public static com.ibm.icu.util.Calendar getInstance(TimeZone zone, Locale aLocale) { + public static com.ibm.icu.util.Calendar getInstance(com.ibm.icu.util.TimeZone zone, Locale aLocale) { return com.ibm.icu.util.Calendar.getInstance(zone, aLocale); } - public static com.ibm.icu.util.Calendar getInstance(TimeZone zone, ULocale locale) { + public static com.ibm.icu.util.Calendar getInstance(com.ibm.icu.util.TimeZone zone, ULocale locale) { return com.ibm.icu.util.Calendar.getInstance(zone, locale); } @@ -155,13 +153,13 @@ public class CalendarDelegate extends Calendar { return delegate.fieldDifference(when, field); } - public void setTimeZone(TimeZone value) { + public void setTimeZone(com.ibm.icu.util.TimeZone value) { delegate.setTimeZone(value); } @Override public java.util.TimeZone getTimeZone() { - return new TimeZoneDelegate(delegate.getTimeZone()); + return new TimeZone(delegate.getTimeZone()); } @Override diff --git a/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/TimeZoneDelegate.java b/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/util/TimeZone.java similarity index 91% rename from AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/TimeZoneDelegate.java rename to AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/util/TimeZone.java index 5b6af4eb..60eb0047 100644 --- a/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/TimeZoneDelegate.java +++ b/AndroidCompat/src/main/java/xyz/nulldev/androidcompat/replace/java/util/TimeZone.java @@ -1,16 +1,15 @@ -package xyz.nulldev.androidcompat.replace; +package xyz.nulldev.androidcompat.replace.java.util; import com.ibm.icu.util.ULocale; import java.util.Date; import java.util.Locale; import java.util.Set; -import java.util.TimeZone; -public class TimeZoneDelegate extends TimeZone { +public class TimeZone extends java.util.TimeZone { private com.ibm.icu.util.TimeZone delegate; - public TimeZoneDelegate(com.ibm.icu.util.TimeZone delegate) { + public TimeZone(com.ibm.icu.util.TimeZone delegate) { this.delegate = delegate; } @@ -81,8 +80,8 @@ public class TimeZoneDelegate extends TimeZone { return delegate.inDaylightTime(date); } - public static TimeZone getTimeZone(String ID) { - return new TimeZoneDelegate(com.ibm.icu.util.TimeZone.getTimeZone(ID)); + public static java.util.TimeZone getTimeZone(String ID) { + return new TimeZone(com.ibm.icu.util.TimeZone.getTimeZone(ID)); } public static com.ibm.icu.util.TimeZone getFrozenTimeZone(String ID) { @@ -125,8 +124,8 @@ public class TimeZoneDelegate extends TimeZone { return com.ibm.icu.util.TimeZone.getEquivalentID(id, index); } - public static TimeZone getDefault() { - return new TimeZoneDelegate(com.ibm.icu.util.TimeZone.getDefault()); + public static java.util.TimeZone getDefault() { + return new TimeZone(com.ibm.icu.util.TimeZone.getDefault()); } public static void setDefault(com.ibm.icu.util.TimeZone tz) { diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/util/BytecodeEditor.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/util/BytecodeEditor.kt index 4a6d65f0..0e528b02 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/util/BytecodeEditor.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/impl/util/BytecodeEditor.kt @@ -76,8 +76,9 @@ object BytecodeEditor { return ClassNode().also { cr.accept(it, ClassReader.EXPAND_FRAMES) } } + private const val replacementPath = "xyz/nulldev/androidcompat/replace" private const val simpleDateFormat = "java/text/SimpleDateFormat" - private const val replacementSimpleDateFormat = "xyz/nulldev/androidcompat/replace/SimpleDateFormat" + private const val replacementSimpleDateFormat = "$replacementPath/$simpleDateFormat" private fun String?.replaceFormatFully() = if (this == simpleDateFormat) { replacementSimpleDateFormat