-def _ensure_final_value(packageName, arsc, value):
- """Ensure incoming value is always the value, not the resid
-
- androguard will sometimes return the Android "resId" aka
- Resource ID instead of the actual value. This checks whether
- the value is actually a resId, then performs the Android
- Resource lookup as needed.
-
- """
- if value:
- returnValue = value
- if value[0] == '@':
- try: # can be a literal value or a resId
- res_id = int(value.replace("@", "0x"), 16)
- res_id = arsc.get_id(packageName, res_id)[1]
- returnValue = arsc.get_string(packageName, res_id)[1]
- except ValueError:
- pass
- return returnValue
-
-