Android Open Source - sdk-android-2 Content Dispatch Request From Project Back to project page sdk-android-2 .
License The source code is released under:
Apache License
If you think the Android project sdk-android-2 listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.playhaven.android.req;
/ * f r o m w w w . j a v a 2 s . c o m * /
import android.content.Context;
import com.playhaven.android.PlayHavenException;
import com.playhaven.android.util.JsonUtil;
import net.minidev.json.JSONArray;
import net.minidev.json.JSONObject;
import org.springframework.web.util.UriComponentsBuilder;
import java.net.URI;
import java.net.URL;
public class ContentDispatchRequest extends ContentRequest
{
private JSONObject data;
private String host, path;
public ContentDispatchRequest(String json) throws PlayHavenException
{
this ((JSONObject) JsonUtil.getPath(json, "$.response.content_dispatch.data" ));
}
protected ContentDispatchRequest(JSONObject data) throws PlayHavenException {
super ();
if (data == null)
throw new PlayHavenException("Data can not be null" );
this.data = data;
setIdentifiers((JSONArray) JsonUtil.getPath(data, "$.client_params" ));
try {
String dataUrl = JsonUtil.getPath(data, "$.url" );
if (dataUrl != null)
{
URI uri = new URL(dataUrl).toURI();
URI hostBits = new URI(uri.getScheme(), uri.getUserInfo(), uri.getHost(), uri.getPort(), null, null, null);
host = hostBits.toString();
if (dataUrl.startsWith(host)) {
path = dataUrl.substring(host.length());
// Strip any extra path
int idx = path.indexOf('?' );
if (idx != -1)
path = path.substring(0, idx);
}else {
host = null;
}
}
}catch (Exception e){
throw new PlayHavenException(e);
}
}
@Override
protected UriComponentsBuilder createApiUrl(Context context) throws PlayHavenException {
if (data == null || host == null)
return super.createApiUrl(context);
try {
return UriComponentsBuilder.fromHttpUrl(host);
}catch (Exception e){
throw new PlayHavenException("Unable to request appropriate url" );
}
}
@SuppressWarnings("deprecation" )
protected UriComponentsBuilder addApiPath(Context context, UriComponentsBuilder builder) throws PlayHavenException{
if (data == null)
return super.addApiPath(context, builder);
try {
builder.path(path);
return builder;
}catch (Exception e){
throw new PlayHavenException("Unable to request appropriate url" );
}
}
@Override
protected UriComponentsBuilder createUrl(Context context) throws PlayHavenException {
UriComponentsBuilder builder = super.createUrl(context);
if (data != null)
{
JSONObject params = JsonUtil.getPath(data, "$.params" );
if (params != null)
{
for (String key : params.keySet())
builder.queryParam(key, params.get(key));
}
}
return builder;
}
}
Java Source Code List com.playhaven.android.DeviceId.java com.playhaven.android.PlacementListener.java com.playhaven.android.Placement.java com.playhaven.android.PlayHavenException.java com.playhaven.android.PlayHaven.java com.playhaven.android.PushPlacement.java com.playhaven.android.cache.BulkCacheDownloader.java com.playhaven.android.cache.CacheCleaner.java com.playhaven.android.cache.CacheDownloader.java com.playhaven.android.cache.CacheResponseHandler.java com.playhaven.android.cache.Cache.java com.playhaven.android.cache.CachedInfo.java com.playhaven.android.cache.package-info.java com.playhaven.android.compat.UnityCompat.java com.playhaven.android.compat.VendorCompat.java com.playhaven.android.data.ContentUnitType.java com.playhaven.android.data.CustomEvent.java com.playhaven.android.data.DataCollectionField.java com.playhaven.android.data.JsonUrlExtractor.java com.playhaven.android.data.Purchase.java com.playhaven.android.data.Reward.java com.playhaven.android.data.package-info.java com.playhaven.android.diagnostic.APIValidationIndicators.java com.playhaven.android.diagnostic.DiagnosticApp.java com.playhaven.android.diagnostic.DiagnosticPreferences.java com.playhaven.android.diagnostic.InstrumentationReceiver.java com.playhaven.android.diagnostic.Launcher.java com.playhaven.android.diagnostic.OutputBox.java com.playhaven.android.diagnostic.RequestTypeAdapter.java com.playhaven.android.diagnostic.RequestType.java com.playhaven.android.examples.ContentExample2.java com.playhaven.android.examples.ContentExample.java com.playhaven.android.examples.DialogExample.java com.playhaven.android.examples.DisplayOptExample.java com.playhaven.android.examples.EmbeddedExample.java com.playhaven.android.examples.IAPTrackingExample.java com.playhaven.android.examples.LoggingExample.java com.playhaven.android.examples.MoreGamesExample.java com.playhaven.android.examples.NoContent1Example.java com.playhaven.android.examples.NoContent2Example.java com.playhaven.android.examples.OnResumeExample.java com.playhaven.android.examples.OpenExample.java com.playhaven.android.examples.OptInExample.java com.playhaven.android.examples.PreloadDialogExample.java com.playhaven.android.examples.PreloadExample.java com.playhaven.android.examples.PurchaseExample.java com.playhaven.android.examples.RewardExample.java com.playhaven.android.examples.WebviewFullscreenExample.java com.playhaven.android.push.GCMBroadcastReceiver.java com.playhaven.android.push.GCMRegistrationRequest.java com.playhaven.android.push.NotificationBuilder.java com.playhaven.android.push.PushReceiver.java com.playhaven.android.req.ContentDispatchRequest.java com.playhaven.android.req.ContentDispatchType.java com.playhaven.android.req.ContentRequest.java com.playhaven.android.req.ContentUnitRequest.java com.playhaven.android.req.CustomEventRequest.java com.playhaven.android.req.Identifier.java com.playhaven.android.req.InstallRequest.java com.playhaven.android.req.MetadataRequest.java com.playhaven.android.req.NoContentException.java com.playhaven.android.req.NoIdentifierException.java com.playhaven.android.req.OpenRequest.java com.playhaven.android.req.PlayHavenRequest.java com.playhaven.android.req.PurchaseTrackingRequest.java com.playhaven.android.req.PushTrackingRequest.java com.playhaven.android.req.RequestListener.java com.playhaven.android.req.ServerErrorHandler.java com.playhaven.android.req.SignatureException.java com.playhaven.android.req.SubcontentRequest.java com.playhaven.android.req.UrlRequest.java com.playhaven.android.req.UserAgent.java com.playhaven.android.req.package-info.java com.playhaven.android.util.DisplayUtil.java com.playhaven.android.util.GoogleAdvertisementUtil.java com.playhaven.android.util.GooglePlayServicesUtil.java com.playhaven.android.util.JsonUtil.java com.playhaven.android.util.KontagentUtil.java com.playhaven.android.util.MemoryReporter.java com.playhaven.android.util.TimeZoneFormatter.java com.playhaven.android.util.package-info.java com.playhaven.android.view.Badge.java com.playhaven.android.view.ChildView.java com.playhaven.android.view.DefaultPlayHavenListener.java com.playhaven.android.view.FrameManager.java com.playhaven.android.view.FullScreen.java com.playhaven.android.view.HTMLView.java com.playhaven.android.view.MoreGames.java com.playhaven.android.view.NativeView.java com.playhaven.android.view.PlayHavenListener.java com.playhaven.android.view.PlayHavenView.java com.playhaven.android.view.Windowed.java com.playhaven.android.view.package-info.java com.playhaven.android.package-info.java javax.annotation.Generated.java javax.annotation.package-info.java ${package}.__artifactId__Activity.java