code: 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;
          }
      }
docs: The ARP is additional request parameters, which must be sent once
  received after any HTTP call. This is sort of a proxy for cookies.
  
  @return A JSON object containing the ARP key/values. Can be null.