package com.adsdk.sdk;
import android.net.Uri;
import android.os.Build;
public class AdRequest {
private String userAgent;
private String userAgent2;
private String headers;
private String deviceId;
private String listAds;
private String requestURL;
private String protocolVersion;
private String publisherId;
private double longitude = 0.0;
private double latitude = 0.0;
private static final String REQUEST_TYPE_ANDROID = "android_app";
private int type = -1;
public static final int BANNER = 0;
public static final int VAD = 1;
private String ipAddress;
private String deviceId2;
private String connectionType;
private long timestamp;
public String getAndroidVersion() {
return Build.VERSION.RELEASE;
}
public String getConnectionType() {
return this.connectionType;
}
public String getDeviceId() {
if (this.deviceId == null)
return "";
return this.deviceId;
}
public String getDeviceId2() {
return this.deviceId2;
}
public String getDeviceMode() {
return Build.MODEL;
}
public String getHeaders() {
if (this.headers == null)
return "";
return this.headers;
}
public String getIpAddress() {
if (this.ipAddress == null)
return "";
return this.ipAddress;
}
public double getLatitude() {
return this.latitude;
}
public String getListAds() {
if (this.listAds != null)
return this.listAds;
else
return "";
}
public double getLongitude() {
return this.longitude;
}
public String getProtocolVersion() {
if (this.protocolVersion == null)
return Const.VERSION;
else
return this.protocolVersion;
}
public String getPublisherId() {
if (this.publisherId == null)
return "";
return this.publisherId;
}
public String getRequestType() {
return AdRequest.REQUEST_TYPE_ANDROID;
}
public long getTimestamp() {
return this.timestamp;
}
public String getUserAgent() {
if (this.userAgent == null)
return "";
return this.userAgent;
}
public String getUserAgent2() {
if (this.userAgent2 == null)
return "";
return this.userAgent2;
}
public void setConnectionType(final String connectionType) {
this.connectionType = connectionType;
}
public void setDeviceId(final String deviceId) {
this.deviceId = deviceId;
}
public void setDeviceId2(final String deviceId2) {
this.deviceId2 = deviceId2;
}
public void setHeaders(final String headers) {
this.headers = headers;
}
public void setIpAddress(final String ipAddress) {
this.ipAddress = ipAddress;
}
public void setLatitude(final double latitude) {
this.latitude = latitude;
}
public void setListAds(final String listAds) {
this.listAds = listAds;
}
public void setLongitude(final double longitude) {
this.longitude = longitude;
}
public void setProtocolVersion(final String protocolVersion) {
this.protocolVersion = protocolVersion;
}
public void setPublisherId(final String publisherId) {
this.publisherId = publisherId;
}
public void setTimestamp(final long timestamp) {
this.timestamp = timestamp;
}
public void setUserAgent(final String userAgent) {
this.userAgent = userAgent;
}
public void setUserAgent2(final String userAgent) {
this.userAgent2 = userAgent;
}
@Override
public String toString() {
return this.toUri().toString();
}
public Uri toUri() {
final Uri.Builder b = Uri.parse(this.getRequestURL()).buildUpon();
b.appendQueryParameter("rt", this.getRequestType());
b.appendQueryParameter("v", this.getProtocolVersion());
b.appendQueryParameter("i", this.getIpAddress());
b.appendQueryParameter("u", this.getUserAgent());
b.appendQueryParameter("u2", this.getUserAgent2());
b.appendQueryParameter("s", this.getPublisherId());
b.appendQueryParameter("o", this.getDeviceId());
b.appendQueryParameter("o2", this.getDeviceId2());
b.appendQueryParameter("t", Long.toString(this.getTimestamp()));
b.appendQueryParameter("connection_type", this.getConnectionType());
b.appendQueryParameter("listads", this.getListAds());
switch(getType()){
case BANNER:
b.appendQueryParameter("c.mraid", "1");
b.appendQueryParameter("sdk","banner");
break;
case VAD:
b.appendQueryParameter("c.mraid", "0");
b.appendQueryParameter("sdk","vad");
break;
}
b.appendQueryParameter("u_wv", this.getUserAgent());
return b.build();
}
public String getRequestURL() {
return requestURL;
}
public void setRequestURL(String requestURL) {
this.requestURL = requestURL;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
}