@SuppressWarnings("unused") // Public API
    public static ViewPosition unpack(String str) {
        String[] parts = TextUtils.split(str, SPLIT_PATTERN);
        if (parts.length != 4) {
            throw new IllegalArgumentException("Wrong ViewPosition string: " + str);
        }

        Rect view = Rect.unflattenFromString(parts[0]);
        Rect viewport = Rect.unflattenFromString(parts[1]);
        Rect visible = Rect.unflattenFromString(parts[2]);
        Rect image = Rect.unflattenFromString(parts[3]);

        if (view == null || viewport == null || image == null) {
            throw new IllegalArgumentException("Wrong ViewPosition string: " + str);
        }

        return new ViewPosition(view, viewport, visible, image);
    }
@ SuppressWarnings ( "unused" ) public static ViewPosition unpack ( String str ) { String [ ] parts = TextUtils . split ( str , SPLIT_PATTERN ) ; if ( parts . length != 4 ) { throw new IllegalArgumentException ( "Wrong ViewPosition string: " + str ) ; } Rect view = Rect . unflattenFromString ( parts [ 0 ] ) ; Rect viewport = Rect . unflattenFromString ( parts [ 1 ] ) ; Rect visible = Rect . unflattenFromString ( parts [ 2 ] ) ; Rect image = Rect . unflattenFromString ( parts [ 3 ] ) ; if ( view == null || viewport == null || image == null ) { throw new IllegalArgumentException ( "Wrong ViewPosition string: " + str ) ; } return new ViewPosition ( view , viewport , visible , image ) ; }
Restores ViewPosition from the string created by {@link #pack()} method.

@param str Serialized position string
@return De-serialized position