Keep UserManagerInternal fields referenced with reflection

Several constant fields in UserManagerInternal are referenced by
way of DebugUtils.constantToString. This tool relies on reflection to
fully populate the field names, but these fields are inlined and removed
by R8 after shrinking. For now, expicitly keep these fields to preserve
the desired behavior.

A better solution might involve an annotation on the method that
triggers the DebugUtils.constantToString call, to keep any fields with
the desired prefix.

Note that there are a few other uses of reflection via DebugUtils in
system_server, but they are generally for framework classes that are not
shrunk by R8, so don't have the same issue.

Bug: 265860655
Test: dexdump services.jar | grep 'USER_START_MODE_'
Change-Id: I79aeeba4e4dd6f52a6f37c70f27d0778ff87d5f8
1 file changed