diff --git a/app/src/main/java/ru/vtosters/lite/ui/fragments/IconsFragment.java b/app/src/main/java/ru/vtosters/lite/ui/fragments/IconsFragment.java index 28c02cdf3..801299a18 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/fragments/IconsFragment.java +++ b/app/src/main/java/ru/vtosters/lite/ui/fragments/IconsFragment.java @@ -18,6 +18,7 @@ import android.annotation.SuppressLint; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; import android.util.TypedValue; @@ -26,6 +27,7 @@ import android.widget.RadioGroup; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.view.ContextThemeWrapper; +import androidx.core.content.res.ResourcesCompat; import com.vtosters.lite.general.fragments.MaterialPreferenceToolbarFragment; @@ -55,21 +57,23 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment{ String iconname = icons().get(i); String icon = iconsValues().get(i); -// String icondrawable; -// -// if (icon.contains("vt")) { -// icondrawable = "vt_launcher_round"; -// } else if (icon.contains("standard")) { -// icondrawable = "ic_launcher_round"; -// } else { -// icondrawable = "ic_launcher_" + icon; -// } -// -// Drawable drawable = ResourcesCompat.getDrawable(getResources(), getIdentifier(icondrawable, "mipmap"), null); -// -// PreferencesUtil.addPreferenceDrawable(this, icon, iconname, "", drawable, preference -> { + String icondrawable; - PreferencesUtil.addPreference(this, icon, iconname, "", "ic_bug_outline_28", preference -> { + if (icon.equals("vt")) { + icondrawable = "vt_launcher_round"; + } else if (icon.contains("standard")) { + icondrawable = "ic_launcher_round"; + } else if (icon.contains("vt_")) { + icondrawable = "vt_launcher_"; + } else { + icondrawable = "ic_launcher_" + icon; + } + + Drawable drawable = ResourcesCompat.getDrawable(getResources(), getIdentifier(icondrawable, "mipmap"), null); + + PreferencesUtil.addPreferenceDrawable(this, icon, iconname, "", drawable, preference -> { + +// PreferencesUtil.addPreference(this, icon, iconname, "", "ic_bug_outline_28", preference -> { callSelectDialog(this.getContext(), icon); return false; }); @@ -103,7 +107,7 @@ public class IconsFragment extends MaterialPreferenceToolbarFragment{ rgVK.setText("VK"); rgVK.setTextColor(getTextAttr()); - rgVKontakte.setText("VKontakte"); + rgVKontakte.setText("ВКонтакте"); rgVKontakte.setTextColor(getTextAttr()); rgVKontakte.setChecked(isZaboronaEnabled()); diff --git a/app/src/main/java/ru/vtosters/lite/utils/IconManager.java b/app/src/main/java/ru/vtosters/lite/utils/IconManager.java index db18f5082..813054566 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/IconManager.java +++ b/app/src/main/java/ru/vtosters/lite/utils/IconManager.java @@ -37,11 +37,11 @@ public class IconManager { // available icons list for verified users public static List sIconsPlus = Arrays.asList( - "standard", "vt", "navy", "tiger", "spring", "sea", "sakura", "party", "paint", "flamingo" + "standard", "vt", "navy", "tiger", "spring", "sea", "sakura", "party", "paint", "flamingo", "old" ); public static List sIconsPlusNames = Arrays.asList( - "VK", "VTLite", "Navy", "Tiger", "Spring", "Sea", "Sakura", "Party", "Paint", "Flamingo" + "VK", "VTLite", "Navy", "Tiger", "Spring", "Sea", "Sakura", "Party", "Paint", "Flamingo", "Old Logo" ); // available labels list for verified users @@ -54,11 +54,11 @@ public class IconManager { ); public static List icons() { - return hasVerification() && isValidSignature() && Build.VERSION.SDK_INT >= 26 ? sIconsPlusNames : sIconsNames; // delete later sdk check + return hasVerification() && isValidSignature() ? sIconsPlusNames : sIconsNames; // delete later sdk check } public static List iconsValues() { - return hasVerification() && isValidSignature() && Build.VERSION.SDK_INT >= 26 ? sIconsPlus : sIcons; // delete later sdk check + return hasVerification() && isValidSignature() ? sIconsPlus : sIcons; // delete later sdk check } public static void switchComponent(String icon, String appName, String oldIcon, String oldAppName) { diff --git a/app/src/main/java/ru/vtosters/lite/utils/Proxy.java b/app/src/main/java/ru/vtosters/lite/utils/Proxy.java index e18d8f387..822b87d9e 100644 --- a/app/src/main/java/ru/vtosters/lite/utils/Proxy.java +++ b/app/src/main/java/ru/vtosters/lite/utils/Proxy.java @@ -1,9 +1,19 @@ package ru.vtosters.lite.utils; import static java.lang.System.clearProperty; -import static java.lang.System.getProperties; +import static ru.vtosters.lite.utils.Globals.getContext; import static ru.vtosters.lite.utils.Globals.getPrefsValue; +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.Intent; +import android.util.ArrayMap; +import android.util.Log; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.util.Properties; + public class Proxy{ public static String getApi(){ var proxyapi = getPrefsValue("proxyapi"); @@ -19,62 +29,124 @@ public class Proxy{ return getPrefsValue("proxy").equals("zaborona"); } - public static void setProxy(){ - var type = getPrefsValue("proxy"); - var properties = getProperties(); + private static void setProxyRefl() { + Log.d("Proxy", "Setting proxy..."); + try { + var context = getContext().getApplicationContext(); + Class applicationClass = Class.forName("android.app.Application"); + @SuppressLint("DiscouragedPrivateApi") @SuppressWarnings("JavaReflectionMemberAccess") + Field mLoadedApkField = applicationClass.getDeclaredField("mLoadedApk"); + mLoadedApkField.setAccessible(true); + Object mLoadedApkObject = mLoadedApkField.get(context); - switch(type) { + @SuppressLint("PrivateApi") + Class loadedApkClass = Class.forName("android.app.LoadedApk"); + @SuppressLint("DiscouragedPrivateApi") Field mReceiversField = loadedApkClass.getDeclaredField("mReceivers"); + mReceiversField.setAccessible(true); + ArrayMap receivers = (ArrayMap) mReceiversField.get(mLoadedApkObject); + for (Object receiverMap : receivers.values()) { + for (Object receiver : ((ArrayMap) receiverMap).keySet()) { + Class receiverClass = receiver.getClass(); + + if (receiverClass.getName().contains("ProxyChangeListener")) { + Method onReceiveMethod = receiverClass.getDeclaredMethod("onReceive", Context.class, Intent.class); + Intent intent = new Intent(android.net.Proxy.PROXY_CHANGE_ACTION); + onReceiveMethod.invoke(receiver, context, intent); + } else { + for (Field field : receiverClass.getDeclaredFields()) { + if (field.getType().getName().contains("ProxyChangeListener")) { + Method onReceiveMethod = receiverClass.getDeclaredMethod("onReceive", Context.class, Intent.class); + Intent intent = new Intent(android.net.Proxy.PROXY_CHANGE_ACTION); + onReceiveMethod.invoke(receiver, context, intent); + } + } + } + } + } + + Log.d("Proxy", "Setting proxy successful!"); + } catch (Exception e) { + Log.d("Proxy", "Setting proxy failed!"); + } + } + + public static void setProxy() { + switch (getPrefsValue("proxy")) { case "zaborona": - properties.setProperty("socksProxyHost", "socks.zaboronahelp.pp.ua"); - properties.setProperty("socksProxyPort", "1488"); - resetProxy(type); + System.setProperty("socksProxyHost", "socks.zaboronahelp.pp.ua"); + System.setProperty("socksProxyPort", "1488"); + setProxyRefl(); + resetProxySocks(); break; case "socks": - properties.setProperty("socksProxyHost", proxyHostSocks()); - properties.setProperty("socksProxyPort", proxyPortSocks()); - resetProxy(type); + System.setProperty("socksProxyHost", proxyHostSocks()); + System.setProperty("socksProxyPort", proxyPortSocks()); + setProxyRefl(); + resetProxySocks(); break; case "http": - properties.setProperty("http.proxyHost", proxyHostHTTP()); - properties.setProperty("http.proxyPort", proxyPortHTTP()); - properties.setProperty("http.proxyUser", proxyUserHTTP()); - properties.setProperty("http.proxyPassword", proxyPassHTTP()); - resetProxy(type); + System.setProperty("http.proxyHost", proxyHostHTTP()); + System.setProperty("http.proxyPort", proxyPortHTTP()); + System.setProperty("http.proxyUser", proxyUserHTTP()); + System.setProperty("http.proxyPassword", proxyPassHTTP()); + setProxyRefl(); + resetProxyHttp(); break; case "https": - properties.setProperty("https.proxyHost", proxyHostHTTPS()); - properties.setProperty("https.proxyPort", proxyPortHTTPS()); - properties.setProperty("https.proxyUser", proxyUserHTTPS()); - properties.setProperty("https.proxyPassword", proxyPassHTTPS()); - resetProxy(type); + System.setProperty("https.proxyHost", proxyHostHTTPS()); + System.setProperty("https.proxyPort", proxyPortHTTPS()); + System.setProperty("https.proxyUser", proxyUserHTTPS()); + System.setProperty("https.proxyPassword", proxyPassHTTPS()); + setProxyRefl(); + resetProxyHttps(); break; default: + resetProxy(); break; } } - public static void resetProxy(String except){ - if (!except.equals("https")) { - clearProperty("https.proxyHost"); - clearProperty("https.proxyPort"); - clearProperty("https.proxyUser"); - clearProperty("https.proxyPassword"); - } - - if (!except.equals("http")) { - clearProperty("http.proxyHost"); - clearProperty("http.proxyPort"); - clearProperty("http.proxyUser"); - clearProperty("http.proxyPassword"); - } - - if (except.equals("socks") || except.equals("zaborona") || except.isEmpty()) { - return; - } - + public static void resetProxy() { + clearProperty("https.proxyHost"); + clearProperty("https.proxyPort"); + clearProperty("https.proxyUser"); + clearProperty("https.proxyPassword"); + clearProperty("http.proxyHost"); + clearProperty("http.proxyPort"); + clearProperty("http.proxyUser"); + clearProperty("http.proxyPassword"); clearProperty("socksProxyHost"); clearProperty("socksPortHost"); - } // Reset proxy + } // Reset all proxies + + public static void resetProxySocks() { + clearProperty("https.proxyHost"); + clearProperty("https.proxyPort"); + clearProperty("https.proxyUser"); + clearProperty("https.proxyPassword"); + clearProperty("http.proxyHost"); + clearProperty("http.proxyPort"); + clearProperty("http.proxyUser"); + clearProperty("http.proxyPassword"); + } // Reset all except socks + + public static void resetProxyHttp() { + clearProperty("https.proxyHost"); + clearProperty("https.proxyPort"); + clearProperty("https.proxyUser"); + clearProperty("https.proxyPassword"); + clearProperty("socksProxyHost"); + clearProperty("socksPortHost"); + } // Reset all except http + + public static void resetProxyHttps() { + clearProperty("http.proxyHost"); + clearProperty("http.proxyPort"); + clearProperty("http.proxyUser"); + clearProperty("http.proxyPassword"); + clearProperty("socksProxyHost"); + clearProperty("socksPortHost"); + } // Reset all except https private static String proxyHostHTTP(){ var string = getPrefsValue("proxyHostHTTP"); diff --git a/smali/AndroidManifest.xml b/smali/AndroidManifest.xml index 335896adf..54ec40cb4 100644 --- a/smali/AndroidManifest.xml +++ b/smali/AndroidManifest.xml @@ -227,7 +227,7 @@ @@ -239,7 +239,7 @@ @@ -275,7 +275,7 @@ @@ -287,7 +287,7 @@ @@ -299,7 +299,7 @@ @@ -311,7 +311,7 @@ @@ -323,7 +323,7 @@ @@ -335,7 +335,7 @@ @@ -347,7 +347,7 @@ @@ -359,7 +359,7 @@ @@ -371,7 +371,7 @@ @@ -383,7 +383,7 @@ @@ -395,7 +395,7 @@ @@ -407,7 +407,7 @@ @@ -419,7 +419,7 @@ @@ -431,7 +431,7 @@ @@ -443,7 +443,7 @@ @@ -455,7 +455,7 @@ @@ -467,7 +467,7 @@ @@ -479,7 +479,7 @@ @@ -491,7 +491,7 @@ @@ -503,7 +503,7 @@ @@ -515,7 +515,7 @@ @@ -527,7 +527,7 @@ @@ -539,7 +539,7 @@ @@ -551,7 +551,7 @@ @@ -561,6 +561,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/smali/res/mipmap-hdpi/adaptive_launcher_background_old.png b/smali/res/mipmap-hdpi/adaptive_launcher_background_old.png new file mode 100644 index 000000000..087ede340 Binary files /dev/null and b/smali/res/mipmap-hdpi/adaptive_launcher_background_old.png differ diff --git a/smali/res/mipmap-hdpi/adaptive_launcher_foreground_old.png b/smali/res/mipmap-hdpi/adaptive_launcher_foreground_old.png new file mode 100644 index 000000000..19db31f0b Binary files /dev/null and b/smali/res/mipmap-hdpi/adaptive_launcher_foreground_old.png differ diff --git a/smali/res/mipmap-hdpi/ic_launcher.png b/smali/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..d179c42f1 Binary files /dev/null and b/smali/res/mipmap-hdpi/ic_launcher.png differ diff --git a/smali/res/mipmap-hdpi/ic_launcher_flamingo.png b/smali/res/mipmap-hdpi/ic_launcher_flamingo.png new file mode 100644 index 000000000..7b64914f5 Binary files /dev/null and b/smali/res/mipmap-hdpi/ic_launcher_flamingo.png differ diff --git a/smali/res/mipmap-hdpi/ic_launcher_navy.png b/smali/res/mipmap-hdpi/ic_launcher_navy.png new file mode 100644 index 000000000..79646cea4 Binary files /dev/null and b/smali/res/mipmap-hdpi/ic_launcher_navy.png differ diff --git a/smali/res/mipmap-hdpi/ic_launcher_old.png b/smali/res/mipmap-hdpi/ic_launcher_old.png new file mode 100644 index 000000000..59d3fe387 Binary files /dev/null and b/smali/res/mipmap-hdpi/ic_launcher_old.png differ diff --git a/smali/res/mipmap-hdpi/ic_launcher_paint.png b/smali/res/mipmap-hdpi/ic_launcher_paint.png new file mode 100644 index 000000000..ef895b6e5 Binary files /dev/null and b/smali/res/mipmap-hdpi/ic_launcher_paint.png differ diff --git a/smali/res/mipmap-hdpi/ic_launcher_party.png b/smali/res/mipmap-hdpi/ic_launcher_party.png new file mode 100644 index 000000000..07c9c09dd Binary files /dev/null and b/smali/res/mipmap-hdpi/ic_launcher_party.png differ diff --git a/smali/res/mipmap-hdpi/ic_launcher_sakura.png b/smali/res/mipmap-hdpi/ic_launcher_sakura.png new file mode 100644 index 000000000..0ce0e56f3 Binary files /dev/null and b/smali/res/mipmap-hdpi/ic_launcher_sakura.png differ diff --git a/smali/res/mipmap-hdpi/ic_launcher_sea.png b/smali/res/mipmap-hdpi/ic_launcher_sea.png new file mode 100644 index 000000000..f643a3cef Binary files /dev/null and b/smali/res/mipmap-hdpi/ic_launcher_sea.png differ diff --git a/smali/res/mipmap-hdpi/ic_launcher_spring.png b/smali/res/mipmap-hdpi/ic_launcher_spring.png new file mode 100644 index 000000000..a9d28ba18 Binary files /dev/null and b/smali/res/mipmap-hdpi/ic_launcher_spring.png differ diff --git a/smali/res/mipmap-hdpi/ic_launcher_tiger.png b/smali/res/mipmap-hdpi/ic_launcher_tiger.png new file mode 100644 index 000000000..948cabdce Binary files /dev/null and b/smali/res/mipmap-hdpi/ic_launcher_tiger.png differ diff --git a/smali/res/mipmap-mdpi/adaptive_launcher_background_old.png b/smali/res/mipmap-mdpi/adaptive_launcher_background_old.png new file mode 100644 index 000000000..039b45d58 Binary files /dev/null and b/smali/res/mipmap-mdpi/adaptive_launcher_background_old.png differ diff --git a/smali/res/mipmap-mdpi/adaptive_launcher_foreground_old.png b/smali/res/mipmap-mdpi/adaptive_launcher_foreground_old.png new file mode 100644 index 000000000..c21ed31c4 Binary files /dev/null and b/smali/res/mipmap-mdpi/adaptive_launcher_foreground_old.png differ diff --git a/smali/res/mipmap-mdpi/ic_launcher.png b/smali/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..8999f1831 Binary files /dev/null and b/smali/res/mipmap-mdpi/ic_launcher.png differ diff --git a/smali/res/mipmap-mdpi/ic_launcher_flamingo.png b/smali/res/mipmap-mdpi/ic_launcher_flamingo.png new file mode 100644 index 000000000..4aec2ea82 Binary files /dev/null and b/smali/res/mipmap-mdpi/ic_launcher_flamingo.png differ diff --git a/smali/res/mipmap-mdpi/ic_launcher_navy.png b/smali/res/mipmap-mdpi/ic_launcher_navy.png new file mode 100644 index 000000000..402a82bfe Binary files /dev/null and b/smali/res/mipmap-mdpi/ic_launcher_navy.png differ diff --git a/smali/res/mipmap-mdpi/ic_launcher_old.png b/smali/res/mipmap-mdpi/ic_launcher_old.png new file mode 100644 index 000000000..f7809ed0c Binary files /dev/null and b/smali/res/mipmap-mdpi/ic_launcher_old.png differ diff --git a/smali/res/mipmap-mdpi/ic_launcher_paint.png b/smali/res/mipmap-mdpi/ic_launcher_paint.png new file mode 100644 index 000000000..767db5c85 Binary files /dev/null and b/smali/res/mipmap-mdpi/ic_launcher_paint.png differ diff --git a/smali/res/mipmap-mdpi/ic_launcher_party.png b/smali/res/mipmap-mdpi/ic_launcher_party.png new file mode 100644 index 000000000..46afed9d4 Binary files /dev/null and b/smali/res/mipmap-mdpi/ic_launcher_party.png differ diff --git a/smali/res/mipmap-mdpi/ic_launcher_sakura.png b/smali/res/mipmap-mdpi/ic_launcher_sakura.png new file mode 100644 index 000000000..67a353eed Binary files /dev/null and b/smali/res/mipmap-mdpi/ic_launcher_sakura.png differ diff --git a/smali/res/mipmap-mdpi/ic_launcher_sea.png b/smali/res/mipmap-mdpi/ic_launcher_sea.png new file mode 100644 index 000000000..9a7f83bf7 Binary files /dev/null and b/smali/res/mipmap-mdpi/ic_launcher_sea.png differ diff --git a/smali/res/mipmap-mdpi/ic_launcher_spring.png b/smali/res/mipmap-mdpi/ic_launcher_spring.png new file mode 100644 index 000000000..43afdf52a Binary files /dev/null and b/smali/res/mipmap-mdpi/ic_launcher_spring.png differ diff --git a/smali/res/mipmap-mdpi/ic_launcher_tiger.png b/smali/res/mipmap-mdpi/ic_launcher_tiger.png new file mode 100644 index 000000000..1b566cc7e Binary files /dev/null and b/smali/res/mipmap-mdpi/ic_launcher_tiger.png differ diff --git a/smali/res/mipmap-xhdpi/adaptive_launcher_background_old.png b/smali/res/mipmap-xhdpi/adaptive_launcher_background_old.png new file mode 100644 index 000000000..ddb999b31 Binary files /dev/null and b/smali/res/mipmap-xhdpi/adaptive_launcher_background_old.png differ diff --git a/smali/res/mipmap-xhdpi/adaptive_launcher_foreground_old.png b/smali/res/mipmap-xhdpi/adaptive_launcher_foreground_old.png new file mode 100644 index 000000000..2119a722c Binary files /dev/null and b/smali/res/mipmap-xhdpi/adaptive_launcher_foreground_old.png differ diff --git a/smali/res/mipmap-xhdpi/ic_launcher.png b/smali/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..8dda9a76f Binary files /dev/null and b/smali/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/smali/res/mipmap-xhdpi/ic_launcher_flamingo.png b/smali/res/mipmap-xhdpi/ic_launcher_flamingo.png new file mode 100644 index 000000000..a2d95632a Binary files /dev/null and b/smali/res/mipmap-xhdpi/ic_launcher_flamingo.png differ diff --git a/smali/res/mipmap-xhdpi/ic_launcher_navy.png b/smali/res/mipmap-xhdpi/ic_launcher_navy.png new file mode 100644 index 000000000..241930c90 Binary files /dev/null and b/smali/res/mipmap-xhdpi/ic_launcher_navy.png differ diff --git a/smali/res/mipmap-xhdpi/ic_launcher_old.png b/smali/res/mipmap-xhdpi/ic_launcher_old.png new file mode 100644 index 000000000..84a13b157 Binary files /dev/null and b/smali/res/mipmap-xhdpi/ic_launcher_old.png differ diff --git a/smali/res/mipmap-xhdpi/ic_launcher_paint.png b/smali/res/mipmap-xhdpi/ic_launcher_paint.png new file mode 100644 index 000000000..d07dd7bcb Binary files /dev/null and b/smali/res/mipmap-xhdpi/ic_launcher_paint.png differ diff --git a/smali/res/mipmap-xhdpi/ic_launcher_party.png b/smali/res/mipmap-xhdpi/ic_launcher_party.png new file mode 100644 index 000000000..b7ec0804e Binary files /dev/null and b/smali/res/mipmap-xhdpi/ic_launcher_party.png differ diff --git a/smali/res/mipmap-xhdpi/ic_launcher_sakura.png b/smali/res/mipmap-xhdpi/ic_launcher_sakura.png new file mode 100644 index 000000000..4582982cf Binary files /dev/null and b/smali/res/mipmap-xhdpi/ic_launcher_sakura.png differ diff --git a/smali/res/mipmap-xhdpi/ic_launcher_sea.png b/smali/res/mipmap-xhdpi/ic_launcher_sea.png new file mode 100644 index 000000000..3eae272d0 Binary files /dev/null and b/smali/res/mipmap-xhdpi/ic_launcher_sea.png differ diff --git a/smali/res/mipmap-xhdpi/ic_launcher_spring.png b/smali/res/mipmap-xhdpi/ic_launcher_spring.png new file mode 100644 index 000000000..0728260e4 Binary files /dev/null and b/smali/res/mipmap-xhdpi/ic_launcher_spring.png differ diff --git a/smali/res/mipmap-xhdpi/ic_launcher_tiger.png b/smali/res/mipmap-xhdpi/ic_launcher_tiger.png new file mode 100644 index 000000000..189b4c118 Binary files /dev/null and b/smali/res/mipmap-xhdpi/ic_launcher_tiger.png differ diff --git a/smali/res/mipmap-xxhdpi/adaptive_launcher_background_old.png b/smali/res/mipmap-xxhdpi/adaptive_launcher_background_old.png new file mode 100644 index 000000000..9fcc99b66 Binary files /dev/null and b/smali/res/mipmap-xxhdpi/adaptive_launcher_background_old.png differ diff --git a/smali/res/mipmap-xxhdpi/adaptive_launcher_foreground_old.png b/smali/res/mipmap-xxhdpi/adaptive_launcher_foreground_old.png new file mode 100644 index 000000000..a63802cd2 Binary files /dev/null and b/smali/res/mipmap-xxhdpi/adaptive_launcher_foreground_old.png differ diff --git a/smali/res/mipmap-xxhdpi/ic_launcher.png b/smali/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..8bf0cc3e4 Binary files /dev/null and b/smali/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/smali/res/mipmap-xxhdpi/ic_launcher_flamingo.png b/smali/res/mipmap-xxhdpi/ic_launcher_flamingo.png new file mode 100644 index 000000000..720f8b55b Binary files /dev/null and b/smali/res/mipmap-xxhdpi/ic_launcher_flamingo.png differ diff --git a/smali/res/mipmap-xxhdpi/ic_launcher_navy.png b/smali/res/mipmap-xxhdpi/ic_launcher_navy.png new file mode 100644 index 000000000..9d331123e Binary files /dev/null and b/smali/res/mipmap-xxhdpi/ic_launcher_navy.png differ diff --git a/smali/res/mipmap-xxhdpi/ic_launcher_old.png b/smali/res/mipmap-xxhdpi/ic_launcher_old.png new file mode 100644 index 000000000..2594d5d84 Binary files /dev/null and b/smali/res/mipmap-xxhdpi/ic_launcher_old.png differ diff --git a/smali/res/mipmap-xxhdpi/ic_launcher_paint.png b/smali/res/mipmap-xxhdpi/ic_launcher_paint.png new file mode 100644 index 000000000..d02bd79b8 Binary files /dev/null and b/smali/res/mipmap-xxhdpi/ic_launcher_paint.png differ diff --git a/smali/res/mipmap-xxhdpi/ic_launcher_party.png b/smali/res/mipmap-xxhdpi/ic_launcher_party.png new file mode 100644 index 000000000..e75df3a46 Binary files /dev/null and b/smali/res/mipmap-xxhdpi/ic_launcher_party.png differ diff --git a/smali/res/mipmap-xxhdpi/ic_launcher_sakura.png b/smali/res/mipmap-xxhdpi/ic_launcher_sakura.png new file mode 100644 index 000000000..b917c3a70 Binary files /dev/null and b/smali/res/mipmap-xxhdpi/ic_launcher_sakura.png differ diff --git a/smali/res/mipmap-xxhdpi/ic_launcher_sea.png b/smali/res/mipmap-xxhdpi/ic_launcher_sea.png new file mode 100644 index 000000000..bdf5c03e3 Binary files /dev/null and b/smali/res/mipmap-xxhdpi/ic_launcher_sea.png differ diff --git a/smali/res/mipmap-xxhdpi/ic_launcher_spring.png b/smali/res/mipmap-xxhdpi/ic_launcher_spring.png new file mode 100644 index 000000000..2afcd4cd5 Binary files /dev/null and b/smali/res/mipmap-xxhdpi/ic_launcher_spring.png differ diff --git a/smali/res/mipmap-xxhdpi/ic_launcher_tiger.png b/smali/res/mipmap-xxhdpi/ic_launcher_tiger.png new file mode 100644 index 000000000..ed26b8039 Binary files /dev/null and b/smali/res/mipmap-xxhdpi/ic_launcher_tiger.png differ diff --git a/smali/res/mipmap-xxxhdpi/adaptive_launcher_background_old.png b/smali/res/mipmap-xxxhdpi/adaptive_launcher_background_old.png new file mode 100644 index 000000000..6f4fd08ce Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/adaptive_launcher_background_old.png differ diff --git a/smali/res/mipmap-xxxhdpi/adaptive_launcher_foreground_old.png b/smali/res/mipmap-xxxhdpi/adaptive_launcher_foreground_old.png new file mode 100644 index 000000000..a3db0640c Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/adaptive_launcher_foreground_old.png differ diff --git a/smali/res/mipmap-xxxhdpi/ic_launcher.png b/smali/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..3a310a262 Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/smali/res/mipmap-xxxhdpi/ic_launcher_flamingo.png b/smali/res/mipmap-xxxhdpi/ic_launcher_flamingo.png new file mode 100644 index 000000000..803bb5dda Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/ic_launcher_flamingo.png differ diff --git a/smali/res/mipmap-xxxhdpi/ic_launcher_navy.png b/smali/res/mipmap-xxxhdpi/ic_launcher_navy.png new file mode 100644 index 000000000..7e57f904a Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/ic_launcher_navy.png differ diff --git a/smali/res/mipmap-xxxhdpi/ic_launcher_old.png b/smali/res/mipmap-xxxhdpi/ic_launcher_old.png new file mode 100644 index 000000000..99a6b54c6 Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/ic_launcher_old.png differ diff --git a/smali/res/mipmap-xxxhdpi/ic_launcher_paint.png b/smali/res/mipmap-xxxhdpi/ic_launcher_paint.png new file mode 100644 index 000000000..99e1553ca Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/ic_launcher_paint.png differ diff --git a/smali/res/mipmap-xxxhdpi/ic_launcher_party.png b/smali/res/mipmap-xxxhdpi/ic_launcher_party.png new file mode 100644 index 000000000..819d6a06e Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/ic_launcher_party.png differ diff --git a/smali/res/mipmap-xxxhdpi/ic_launcher_sakura.png b/smali/res/mipmap-xxxhdpi/ic_launcher_sakura.png new file mode 100644 index 000000000..f4e8f0ea7 Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/ic_launcher_sakura.png differ diff --git a/smali/res/mipmap-xxxhdpi/ic_launcher_sea.png b/smali/res/mipmap-xxxhdpi/ic_launcher_sea.png new file mode 100644 index 000000000..a10e493c2 Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/ic_launcher_sea.png differ diff --git a/smali/res/mipmap-xxxhdpi/ic_launcher_spring.png b/smali/res/mipmap-xxxhdpi/ic_launcher_spring.png new file mode 100644 index 000000000..87a45c17b Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/ic_launcher_spring.png differ diff --git a/smali/res/mipmap-xxxhdpi/ic_launcher_tiger.png b/smali/res/mipmap-xxxhdpi/ic_launcher_tiger.png new file mode 100644 index 000000000..6c7ad4efc Binary files /dev/null and b/smali/res/mipmap-xxxhdpi/ic_launcher_tiger.png differ