Advertisement
stirante

NotificationUtil

Dec 27th, 2015
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.02 KB | None | 0 0
  1. package com.stirante.quizcheat;
  2.  
  3. import android.content.res.XModuleResources;
  4. import android.content.res.XResources;
  5.  
  6. import de.robv.android.xposed.XposedHelpers;
  7. import de.robv.android.xposed.callbacks.XC_InitPackageResources;
  8.  
  9. /**
  10.  * Created by stirante
  11.  */
  12. public class NotificationUtil {
  13.  
  14.     public static int DEFAULT_ICON;
  15.  
  16.     public static void handleInitPackageResources(XC_InitPackageResources.InitPackageResourcesParam resparam) throws Throwable {
  17.         if (resparam.packageName.equalsIgnoreCase("com.snapchat.android")) {
  18.             int drawable = R.drawable.checkmark_2;
  19.             XModuleResources modRes = XModuleResources.createInstance(XposedMain.MODULE_PATH, resparam.res);
  20.             DEFAULT_ICON = XResources.getFakeResId(modRes, drawable);
  21.             resparam.res.setReplacement(DEFAULT_ICON, modRes.fwd(drawable));
  22.         }
  23.     }
  24.  
  25.     public static void showMessage(String string, int color, int duration, ClassLoader classLoader) {
  26.         showMessage(string, null, color, -1, duration, -1, classLoader);
  27.     }
  28.  
  29.     public static void showMessage(String string, String title, int color, int textColor, int duration, int icon, ClassLoader classLoader) {
  30.         Object aVar = null;
  31.         Object a = XposedHelpers.callStaticMethod(XposedHelpers.findClass("tX", classLoader), "a");
  32.         Object CHAT_V2 = XposedHelpers.getStaticObjectField(XposedHelpers.findClass("com.snapchat.android.util.debug.FeatureFlagManager$FeatureFlag", classLoader), "CHAT_V2");
  33.         if ((boolean) (XposedHelpers.callStaticMethod(XposedHelpers.findClass("com.snapchat.android.util.debug.FeatureFlagManager", classLoader), "b", new Class[]{XposedHelpers.findClass("com.snapchat.android.util.debug.FeatureFlagManager$FeatureFlag", classLoader)}, CHAT_V2))) {
  34.             if (XposedHelpers.getObjectField(a, "c") != null) {
  35.                 aVar = XposedHelpers.callMethod(XposedHelpers.getObjectField(a, "b"), "get", XposedHelpers.getObjectField(a, "c"));
  36.             }
  37.             if (aVar == null) {
  38.                 aVar = XposedHelpers.callMethod(a, "b");
  39.             }
  40.         } else {
  41.             aVar = XposedHelpers.callMethod(a, "b");
  42.         }
  43.         Object xu = XposedHelpers.newInstance(XposedHelpers.findClass("XU", classLoader), new Class[]{String.class, String.class, int.class}, string, XposedHelpers.getObjectField(aVar, "a"), color);
  44.         XposedHelpers.setObjectField(xu, "alternateNotificationPanel", null);
  45.         XposedHelpers.setBooleanField(xu, "hideTitleBar", true);
  46.         XposedHelpers.setBooleanField(xu, "dismissCurrentNotification", true);
  47.         if (duration != -1)
  48.             XposedHelpers.setLongField(xu, "duration", duration);
  49.         if (icon != -1)
  50.             XposedHelpers.setIntField(xu, "iconRes", icon);
  51.         if (textColor != -1)
  52.             XposedHelpers.setIntField(xu, "textColor", textColor);
  53.         if (title != null)
  54.             XposedHelpers.setObjectField(xu, "primaryText", title);
  55.         XposedHelpers.callMethod(XposedHelpers.getObjectField(a, "a"), "a", xu);
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement