Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.pyler.xinternalsd;
- import java.io.File;
- import android.annotation.SuppressLint;
- import de.robv.android.xposed.IXposedHookZygoteInit;
- import de.robv.android.xposed.XC_MethodHook;
- import de.robv.android.xposed.XSharedPreferences;
- import de.robv.android.xposed.XposedHelpers;
- public class XInternalSD implements IXposedHookZygoteInit {
- XSharedPreferences mPrefs;
- boolean mEnabledModule;
- File mInternalSDCard;
- @Override
- public void initZygote(StartupParam startupParam) throws Throwable {
- String mEnviroment = "android.os.Environment";
- mPrefs = new XSharedPreferences(XInternalSD.class.getPackage()
- .getName());
- XposedHelpers.findAndHookMethod(mEnviroment, null,
- "getExternalStorageDirectory", new XC_MethodHook() {
- @Override
- protected void beforeHookedMethod(MethodHookParam param)
- throws Throwable {
- mPrefs.makeWorldReadable();
- mPrefs.reload();
- mEnabledModule = mPrefs.getBoolean("custom_internal_sd", true);
- @SuppressLint("SdCardPath")
- String internalSD = mPrefs.getString("internal_sd_path",
- "/sdcard");
- mInternalSDCard = new File(internalSD);
- }
- @Override
- protected void afterHookedMethod(MethodHookParam param)
- throws Throwable {
- if (mEnabledModule) {
- param.setResult(mInternalSDCard);
- }
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement