private JSONObject getARP ( final Context context ) { try { final String nameSpaceKey = getNamespaceARPKey ( ) ; if ( nameSpaceKey == null ) return null ; final SharedPreferences prefs = StorageHelper . getPreferences ( context , nameSpaceKey ) ; final Map < String , ? > all = prefs . getAll ( ) ; final Iterator < ? extends Map . Entry < String , ? > > iter = all . entrySet ( ) . iterator ( ) ; while ( iter . hasNext ( ) ) { final Map . Entry < String , ? > kv = iter . next ( ) ; final Object o = kv . getValue ( ) ; if ( o instanceof Number && ( ( Number ) o ) . intValue ( ) == - 1 ) { iter . remove ( ) ; } } final JSONObject ret = new JSONObject ( all ) ; getConfigLogger ( ) . verbose ( getAccountId ( ) , "Fetched ARP for namespace key: " + nameSpaceKey + " values: " + all . toString ( ) ) ; return ret ; } catch ( Throwable t ) { getConfigLogger ( ) . verbose ( getAccountId ( ) , "Failed to construct ARP object" , t ) ; return null ; } }
The ARP is additional request parameters which must be sent once received after any HTTP call . This is sort of a proxy for cookies .