Advertisement
stirante

sskip

Jun 29th, 2016
428
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.54 KB | None | 0 0
  1. if (packageParam.packageName.equalsIgnoreCase("com.spotify.music")) {
  2.             XposedBridge.log("In spotify!");
  3.             //find LoadedFlags class
  4.             Class<?> loadedFlagsCls = XposedHelpers.findClass("com.spotify.mobile.android.service.feature.LoadedFlags", packageParam.classLoader);
  5.             //iterate through all methods to find our flag class
  6.             Class<?> flagCls = null;
  7.             for (Method m : loadedFlagsCls.getMethods()) {
  8.                 if (m.getName().equalsIgnoreCase("a") && m.getParameterTypes().length == 1) {
  9.                     flagCls = m.getParameterTypes()[0];//actually it's just a lucky guess
  10.                 }
  11.             }
  12.             //failsafe check and nice info
  13.             if (flagCls == null) {
  14.                 XposedBridge.log("Flag class not found!");
  15.                 return;
  16.             }
  17.             //hook this method so we can modify flag state
  18.             XposedHelpers.findAndHookMethod(loadedFlagsCls, "a", flagCls, new XC_MethodHook() {
  19.                 @Override
  20.                 protected void afterHookedMethod(MethodHookParam param) throws Throwable {
  21.                     //get flag name
  22.                     String flag = (String) XposedHelpers.getObjectField(param.args[0], "b");
  23.                     //disable chosen flags
  24.                     if (flag.equalsIgnoreCase("ads") || flag.equalsIgnoreCase("on-demand") || flag.equalsIgnoreCase("shuffle_restricted")) {
  25.                         param.setResult(false);
  26.                     }
  27.                 }
  28.             });
  29.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement