Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- XposedHelpers.findAndHookMethod("com.snapchat.android.LandingPageActivity", packageParam.classLoader, "onCreate", Bundle.class, new XC_MethodHook() {
- @Override
- protected void afterHookedMethod(final MethodHookParam param) throws Throwable {
- XposedBridge.log("Adding video sharing!");
- Activity a = (Activity) param.thisObject;
- if (a.getIntent().getAction().equalsIgnoreCase("android.intent.action.SEND") && a.getIntent().getType().startsWith("video/")) {
- Uri mediaUri = a.getIntent().getParcelableExtra(Intent.EXTRA_STREAM);
- // video = mediaUri;
- Object builder = XposedHelpers.newInstance(packageParam.classLoader.loadClass("Mf$a"));
- Object cache = XposedHelpers.callStaticMethod(packageParam.classLoader.loadClass("VD"), "a");
- File f = (File) XposedHelpers.callMethod(cache, "b");
- FileOutputStream fos = new FileOutputStream(f);
- XposedBridge.log("Writing to " + f.getAbsolutePath());
- InputStream fis = ctx.getContentResolver().openInputStream(mediaUri);
- byte[] buffer = new byte[2048];
- if (fis != null) {
- int i;
- while ((i = fis.read(buffer)) > 0) {
- fos.write(buffer, 0, i);
- }
- fis.close();
- fos.close();
- mediaUri = Uri.fromFile(f);
- }
- else {
- XposedBridge.log("Can't find video! Aborting sharing");
- }
- XposedHelpers.setObjectField(builder, "mVideoSnapPreviewCacheWrapper", cache);
- XposedHelpers.setObjectField(builder, "mSnapOrientation", XposedHelpers.getStaticObjectField(packageParam.classLoader.loadClass("afR"), "PORTRAIT"));
- XposedHelpers.setObjectField(builder, "mSnapTrophyMetrics", XposedHelpers.newInstance(packageParam.classLoader.loadClass("PJ")));
- Object snapType = XposedHelpers.getStaticObjectField(packageParam.classLoader.loadClass("com.snapchat.android.model.Mediabryo$SnapType"), "SNAP");
- XposedHelpers.callMethod(builder, "a", mediaUri);
- XposedHelpers.callMethod(builder, "a", snapType);
- final Object snap = XposedHelpers.callMethod(builder, "c");
- final Object captureContext = XposedHelpers.getStaticObjectField(packageParam.classLoader.loadClass("com.snapchat.android.util.eventbus.SnapCaptureContext"), "CAMERA");
- Object user = XposedHelpers.callStaticMethod(packageParam.classLoader.loadClass("LZ"), "a");
- if (user == null) {
- Runnable r = new Runnable() {
- @Override
- public void run() {
- try {
- XposedHelpers.setObjectField(param.thisObject, "mUser", XposedHelpers.callStaticMethod(packageParam.classLoader.loadClass("LZ"), "a", param.thisObject));
- Object Ue = XposedHelpers.newInstance(packageParam.classLoader.loadClass("Zs"), snap, captureContext);
- XposedHelpers.callMethod(XposedHelpers.callStaticMethod(packageParam.classLoader.loadClass("Xy"), "a"), "a", Ue);
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
- };
- XposedHelpers.callStaticMethod(packageParam.classLoader.loadClass("abe"), "b", r);
- return;
- }
- Object Ue = XposedHelpers.newInstance(packageParam.classLoader.loadClass("Zs"), snap, captureContext);
- XposedHelpers.callMethod(param.thisObject, "onSnapCapturedEvent", Ue);
- }
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement