Advertisement
nomanman

ColorOS Plugin Xposed

May 24th, 2015
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.92 KB | None | 0 0
  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.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement