{"record":{"id":"347643b658acd08c","repo":"microg/GmsCore","slug":"type-is-not-yet-usable-with-safeparcelreflectionut","errorCode":null,"errorMessage":"Type is not yet usable with SafeParcelReflectionUtil: ","messagePattern":"Type is not yet usable with SafeParcelReflectionUtil: ","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"play-services-basement/src/main/java/org/microg/safeparcel/SafeParcelReflectionUtil.java","lineNumber":534,"sourceCode":"                if (clazz == Map.class || clazz == HashMap.class)\n                    return SafeParcelType.Map;\n                if (clazz == int.class || clazz == Integer.class)\n                    return SafeParcelType.Integer;\n                if (clazz == short.class || clazz == Short.class)\n                    return SafeParcelType.Short;\n                if (clazz == boolean.class || clazz == Boolean.class)\n                    return SafeParcelType.Boolean;\n                if (clazz == long.class || clazz == Long.class)\n                    return SafeParcelType.Long;\n                if (clazz == float.class || clazz == Float.class)\n                    return SafeParcelType.Float;\n                if (clazz == double.class || clazz == Double.class)\n                    return SafeParcelType.Double;\n                if (clazz == byte.class || clazz == Byte.class)\n                    return SafeParcelType.Byte;\n                if (clazz == java.lang.String.class)\n                    return SafeParcelType.String;\n                throw new RuntimeException(\"Type is not yet usable with SafeParcelReflectionUtil: \" + clazz);\n            }\n        }\n    }\n}\n","sourceCodeStart":516,"sourceCodeEnd":539,"githubUrl":"https://github.com/microg/GmsCore/blob/157c9d86ac46c195a86c2f15ab55c84036223f95/play-services-basement/src/main/java/org/microg/safeparcel/SafeParcelReflectionUtil.java#L516-L539","documentation":"Sentinel guard in SafeParcelReflectionUtil.getType: the field's Java class matches none of the types SafeParcel can serialize (primitives, wrappers, String, Parcelable, Binder, Map, etc.). The unsupported class name is appended; this is a static descriptor-construction error, not a runtime data problem.","triggerScenarios":"Thrown at play-services-basement/src/main/java/org/microg/safeparcel/SafeParcelReflectionUtil.java:534 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Change the field type to one supported by SafeParcel (e.g. HashMap instead of a custom collection)","Convert the unsupported type to a supported representation (String, byte[], Parcelable) before parcelling"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"157c9d86ac46c195a86c2f15ab55c84036223f95","analyzedAt":"2026-09-06T17:27:33.892Z","contentChangedAt":"2026-09-06T17:27:33.892Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}