SHARE
TWEET

ColorOS Plugin Xposed

nomanman May 24th, 2015 37 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Map<String, ClassLoader> loaders;
  2.         DexClassLoader dexLoader;
  3.         static int val = 40;
  4.  
  5.         @Override
  6.         public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable {
  7.                 if(!lpparam.packageName.equals("com.oppo.camera"))
  8.                         return;
  9.                 Class<?> pm = XposedHelpers.findClass("com.oppo.camera.Plugin.PluginManager", lpparam.classLoader);
  10.                 XposedHelpers.findAndHookMethod(pm, "addMode", new XC_MethodHook() {
  11.                         @Override
  12.                         protected void afterHookedMethod(MethodHookParam param)
  13.                                         throws Throwable {
  14.                                 loaders = (Map) XposedHelpers.getObjectField(param.thisObject, "mClassLoaderIsLoaded");
  15.                                 dexLoader = (DexClassLoader) loaders.get("professional");
  16.                                 Class pr = XposedHelpers.findClass("com.oppo.camera.professional.ManualFocusController", dexLoader);
  17.                                 XposedHelpers.findAndHookMethod(pr, "initControllerView", new XC_MethodReplacement() {
  18.                                        
  19.                                         @Override
  20.                                         protected Object replaceHookedMethod(final MethodHookParam param)
  21.                                                         throws Throwable {
  22.                                                 SeekBar bar = new SeekBar((Context) XposedHelpers.getObjectField(param.thisObject, "mContext"));
  23.                                                 bar.setLayoutParams(new LayoutParams(-2, -2));
  24.                                                 bar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
  25.                                                        
  26.                                                         @Override
  27.                                                         public void onStopTrackingTouch(SeekBar arg0) {
  28.                                                                 // TODO Auto-generated method stub
  29.                                                                
  30.                                                         }
  31.                                                        
  32.                                                         @Override
  33.                                                         public void onStartTrackingTouch(SeekBar arg0) {
  34.                                                                 // TODO Auto-generated method stub
  35.                                                                
  36.                                                         }
  37.                                                        
  38.                                                         @Override
  39.                                                         public void onProgressChanged(SeekBar bar, int val, boolean arg2) {
  40.                                                                 Object handler = XposedHelpers.getObjectField(param.thisObject, "mOnManualFocusSeekBarChange");
  41.                                                                 XposedHelpers.callMethod(handler, "OnProgressChange", val);
  42.                                                                 XposedBridge.log("Put: " + val);
  43.                                                         }
  44.                                                 });
  45.                                                 ((LinearLayout) param.thisObject).addView(bar);
  46.                                                 return null;
  47.                                         }
  48.                                 });
  49.                         }
  50.                 });
  51.                
  52.         }
RAW Paste Data
Top