Example usage for org.aspectj.lang ProceedingJoinPoint getArgs

List of usage examples for org.aspectj.lang ProceedingJoinPoint getArgs

Introduction

In this page you can find the example usage for org.aspectj.lang ProceedingJoinPoint getArgs.

Prototype

Object[] getArgs();

Source Link

Usage

From source file:com.rover12421.shaka.apktool.lib.ResConfigAj.java

License:Apache License

@Around("execution(void brut.androlib.res.data.ResConfig.addResource(..))" + "&& args(res, overwrite)")
public void addResource(ProceedingJoinPoint joinPoint, ResResource res, boolean overwrite) throws Throwable {
    ResResSpec spec = res.getResSpec();//from  w  w  w.  ja  v  a  2 s.c o m

    ResResSpec resSpec = ResTypeAj.MultipleSpecs.get(spec.getId().id);
    if (resSpec != null) {
        //??ResResSpec
        ResValue resValue = res.getValue();
        String rename;
        if (resValue instanceof ResFileValue) {
            ResFileValue fileValue = (ResFileValue) resValue;
            rename = fileValue.getPath().replaceAll("/|\\\\|\\.", "_");
            MultopleResFileValue.put(spec.getId().id, res);
        } else {
            rename = MultipleSpec_Perfix + spec.getId();
        }

        if (rename != null) {
            //                LogHelper.warning("Rename ResResSpec " + spec.getName() + " to " + rename);
            ResResSpecAj.setName(spec, rename);
            ResTypeAj.addSpecToResType(spec);
        }
    }

    try {
        joinPoint.proceed(joinPoint.getArgs());
    } catch (AndrolibException e) {
        LogHelper.warning(e.getMessage());
    }
}

From source file:com.rover12421.shaka.apktool.lib.ResFileValueAj.java

License:Apache License

@Around("execution(* brut.androlib.res.data.value.ResFileValue.getStrippedPath())")
public String getStrippedPath(ProceedingJoinPoint joinPoint) {
    try {// w ww .j a v  a 2s. c  o m
        return (String) joinPoint.proceed(joinPoint.getArgs());
    } catch (Throwable throwable) {
        //?res,
        //"/"?,???,?
        return "/" + ((ResFileValue) joinPoint.getThis()).getPath();
    }
}

From source file:com.rover12421.shaka.apktool.lib.ResPackageAj.java

License:Apache License

@Around("execution(* brut.androlib.res.data.ResPackage.getResSpec(..))" + "&& args(resID)")
public ResResSpec getResSpec(ProceedingJoinPoint joinPoint, ResID resID) throws Throwable {
    try {/*from ww  w  . j a va 2 s .  c  o m*/
        return (ResResSpec) joinPoint.proceed(joinPoint.getArgs());
    } catch (UndefinedResObject e) {
        if (ShakaDecodeOption.getInstance().isFuckUnkownId()) {
            ResPackage thiz = (ResPackage) joinPoint.getThis();
            return new ResResSpec(resID, String.format("[%08x]", resID.id), thiz,
                    new ResTypeSpec("FuckUnkownId", thiz.getResTable(), thiz, (byte) (resID.id & 0xFF), 0));
        } else {
            throw e;
        }
    }
}

From source file:com.rover12421.shaka.apktool.lib.ResPackageAj.java

License:Apache License

@Around("execution(* brut.androlib.res.data.ResPackage.addResSpec(..))")
public void addResSpec(ProceedingJoinPoint joinPoint) {
    try {/*from ww  w .  ja  v  a2  s .c o m*/
        joinPoint.proceed(joinPoint.getArgs());
    } catch (Throwable throwable) {
        LogHelper.warning(throwable.getMessage());
    }
}

From source file:com.rover12421.shaka.apktool.lib.ResResourceAj.java

License:Apache License

@Around("execution(* brut.androlib.res.data.ResResource.replace(..))" + "&& args(value)")
public void replace(ProceedingJoinPoint joinPoint, ResValue value) throws Throwable {
    if (!ShakaDecodeOption.getInstance().isIgnoreResDecodeError()) {
        joinPoint.proceed(joinPoint.getArgs());
    }/*from   www  . ja v  a  2s  .c o  m*/
}

From source file:com.rover12421.shaka.apktool.lib.ResResSpecAj.java

License:Apache License

@Around("execution(void brut.androlib.res.data.ResResSpec.addResource(..))" + "&& args(res, overwrite)")
public void addResource(ProceedingJoinPoint joinPoint, ResResource res, boolean overwrite) throws Throwable {
    try {/*from w w w.ja v  a2 s .c  o m*/
        joinPoint.proceed(joinPoint.getArgs());
    } catch (AndrolibException e) {
        LogHelper.warning(e.getMessage());
    }
}

From source file:com.rover12421.shaka.apktool.lib.ResTypeAj.java

License:Apache License

@Around("execution(void brut.androlib.res.data.ResType.addResource(..))" + "&& args(res, overwrite)")
public void addResource(ProceedingJoinPoint joinPoint, ResResource res, boolean overwrite) throws Throwable {
    ResResSpec spec = res.getResSpec();/* w  w  w  . j a  v  a2s . com*/

    ResResSpec resSpec = ResTypeSpecAj.MultipleSpecs.get(spec.getId().id);
    if (resSpec != null) {
        //??ResResSpec
        ResValue resValue = res.getValue();
        String rename;
        if (resValue instanceof ResFileValue) {
            ResFileValue fileValue = (ResFileValue) resValue;
            rename = fileValue.getPath().replaceAll("/|\\\\|\\.", "_");
            MultopleResFileValue.put(spec.getId().id, res);
        } else {
            rename = MultipleSpec_Perfix + spec.getId();
        }

        if (rename != null) {
            //                LogHelper.warning("Rename ResResSpec " + spec.getName() + " to " + rename);
            ResResSpecAj.setName(spec, rename);
            ResTypeSpecAj.addSpecToResType(spec);
        }
    }

    try {
        joinPoint.proceed(joinPoint.getArgs());
    } catch (AndrolibException e) {
        LogHelper.warning(e.getMessage());
    }
}

From source file:com.rover12421.shaka.apktool.lib.ResTypeSpecAj.java

License:Apache License

@Around("execution(* brut.androlib.res.data.ResTypeSpec.addResSpec(..))" + "&& args(spec)")
public void addResSpec(ProceedingJoinPoint joinPoint, ResResSpec spec) throws Throwable {
    ResTypeSpec thiz = (ResTypeSpec) joinPoint.getThis();

    addAllResResSpec(spec);/*from   w  w w.j  a v a2  s  .c  om*/

    ResResSpec exitsSpec = null;
    try {
        exitsSpec = thiz.getResSpec(spec.getName());
    } catch (Exception e) {
    }

    if (exitsSpec == null) {
        joinPoint.proceed(joinPoint.getArgs());
    } else {
        LogHelper.warning(String.format("Multiple res specs: %s/%s", thiz.getName(), spec.getName()));
        if (exitsSpec.getId() != spec.getId()) {
            addMultipleResResSpec(spec);
            addMultipleResResSpec(exitsSpec);
        }
    }
}

From source file:com.rover12421.shaka.apktool.lib.StringBlockAj.java

License:Apache License

@Around("execution(* brut.androlib.res.decoder.StringBlock.getStyle(..))" + "&& args(index)")
public int[] getStyle(ProceedingJoinPoint joinPoint, int index) throws Throwable {
    StringBlock thiz = (StringBlock) joinPoint.getThis();
    int[] m_styleOffsets = thiz.getStyleOffsets();
    int[] m_styles = thiz.getStyles();
    if (m_styleOffsets == null || m_styles == null || index >= m_styleOffsets.length) {
        return null;
    }/*from  w ww. j a  v  a  2 s . c om*/
    int offset = m_styleOffsets[index] / 4;
    if (offset < 0 || offset > m_styles.length) {
        return null;
    }
    return (int[]) joinPoint.proceed(joinPoint.getArgs());
}

From source file:com.rover12421.shaka.lib.multiLanguage.MultiLanguageAj.java

License:Apache License

@Around("call(* java.lang.String.format(..))" + "&& args(format, args)"
        + "&& !within(com.rover12421.shaka.lib.multiLanguage.* +)" + "&& !within(org.jf.dexlib2.util.* +)")
public String around_String_format(ProceedingJoinPoint joinPoint, String format, Object... args)
        throws Throwable {
    return MultiLanguageSupport.covertLocaleInfo((String) joinPoint.proceed(joinPoint.getArgs()));
}