正在查看: Vi App v10.18.0 应用的 ServerRequestCreateUrl.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Vi App v10.18.0 应用的 ServerRequestCreateUrl.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package io.branch.referral;
import android.content.Context;
import io.branch.referral.Branch;
import io.branch.referral.Defines;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Collection;
import org.json.JSONException;
import org.json.JSONObject;
class ServerRequestCreateUrl extends ServerRequest {
private Branch.BranchLinkCreateListener callback_;
private boolean defaultToLongUrl_;
private boolean isAsync_;
private BranchLinkData linkPost_;
public ServerRequestCreateUrl(Context context, String str, int i, int i2, Collection<String> collection, String str2, String str3, String str4, String str5, JSONObject jSONObject, Branch.BranchLinkCreateListener branchLinkCreateListener, boolean z, boolean z2) {
super(context, Defines.RequestPath.GetURL);
this.callback_ = branchLinkCreateListener;
this.isAsync_ = z;
this.defaultToLongUrl_ = z2;
this.linkPost_ = new BranchLinkData();
try {
if (!this.prefHelper_.getLinkClickID().equals("bnc_no_value")) {
this.linkPost_.put(Defines.Jsonkey.LinkClickID.getKey(), this.prefHelper_.getLinkClickID());
}
this.linkPost_.putType(i);
this.linkPost_.putDuration(i2);
this.linkPost_.putTags(collection);
this.linkPost_.putAlias(str);
this.linkPost_.putChannel(str2);
this.linkPost_.putFeature(str3);
this.linkPost_.putStage(str4);
this.linkPost_.putCampaign(str5);
this.linkPost_.putParams(jSONObject);
this.linkPost_.putSource();
setPost(this.linkPost_);
this.linkPost_.remove("anon_id");
this.linkPost_.remove("is_hardware_id_real");
this.linkPost_.remove("hardware_id");
} catch (JSONException e) {
BranchLogger.w("Caught JSONException " + e.getMessage());
this.constructError_ = true;
}
}
private String generateLongUrlWithParams(String str) {
try {
if (Branch.getInstance().isTrackingDisabled() && !str.contains("https://bnc.lt/a/")) {
str = str.replace(new URL(str).getQuery(), "");
}
StringBuilder sb = new StringBuilder();
sb.append(str);
sb.append(str.contains("?") ? "" : "?");
String sb2 = sb.toString();
StringBuilder sb3 = new StringBuilder();
sb3.append(sb2);
sb3.append(sb2.endsWith("?") ? "" : "&");
String sb4 = sb3.toString();
Collection<String> tags = this.linkPost_.getTags();
if (tags != null) {
for (String str2 : tags) {
if (str2 != null && str2.length() > 0) {
sb4 = sb4 + Defines.LinkParam.Tags + "=" + URLEncoder.encode(str2, "UTF8") + "&";
}
}
}
String alias = this.linkPost_.getAlias();
if (alias != null && alias.length() > 0) {
sb4 = sb4 + Defines.LinkParam.Alias + "=" + URLEncoder.encode(alias, "UTF8") + "&";
}
String channel = this.linkPost_.getChannel();
if (channel != null && channel.length() > 0) {
sb4 = sb4 + Defines.LinkParam.Channel + "=" + URLEncoder.encode(channel, "UTF8") + "&";
}
String feature = this.linkPost_.getFeature();
if (feature != null && feature.length() > 0) {
sb4 = sb4 + Defines.LinkParam.Feature + "=" + URLEncoder.encode(feature, "UTF8") + "&";
}
String stage = this.linkPost_.getStage();
if (stage != null && stage.length() > 0) {
sb4 = sb4 + Defines.LinkParam.Stage + "=" + URLEncoder.encode(stage, "UTF8") + "&";
}
String campaign = this.linkPost_.getCampaign();
if (campaign != null && campaign.length() > 0) {
sb4 = sb4 + Defines.LinkParam.Campaign + "=" + URLEncoder.encode(campaign, "UTF8") + "&";
}
String str3 = ((sb4 + Defines.LinkParam.Type + "=" + this.linkPost_.getType() + "&") + Defines.LinkParam.Duration + "=" + this.linkPost_.getDuration()) + "&source=" + Defines.Jsonkey.URLSource.getKey();
JSONObject params = this.linkPost_.getParams();
if (params == null || params.length() <= 0) {
return str3;
}
return str3 + "&data=" + URLEncoder.encode(Base64.encodeToString(params.toString().getBytes(), 2), "UTF8");
} catch (Exception e) {
BranchLogger.e("Caught Exception " + BranchLogger.stackTraceToString(e));
this.callback_.onLinkCreate(null, new BranchError("Trouble creating a URL.", -116));
return str;
}
}
@Override
public void clearCallbacks() {
this.callback_ = null;
}
public BranchLinkData getLinkPost() {
return this.linkPost_;
}
public String getLongUrl() {
if (!this.prefHelper_.getUserURL().equals("bnc_no_value")) {
return generateLongUrlWithParams(this.prefHelper_.getUserURL());
}
return generateLongUrlWithParams("https://bnc.lt/a/" + this.prefHelper_.getBranchKey());
}
public void handleDuplicateURLError() {
Branch.BranchLinkCreateListener branchLinkCreateListener = this.callback_;
if (branchLinkCreateListener != null) {
branchLinkCreateListener.onLinkCreate(null, new BranchError("Trouble creating a URL.", -105));
}
}
public boolean handleErrors(Context context) {
if (super.doesAppHasInternetPermission(context)) {
return false;
}
Branch.BranchLinkCreateListener branchLinkCreateListener = this.callback_;
if (branchLinkCreateListener == null) {
return true;
}
branchLinkCreateListener.onLinkCreate(null, new BranchError("Trouble creating a URL.", -102));
return true;
}
@Override
public void handleFailure(int i, String str) {
if (this.callback_ != null) {
String longUrl = this.defaultToLongUrl_ ? getLongUrl() : null;
this.callback_.onLinkCreate(longUrl, new BranchError("Trouble creating a URL. " + str, i));
}
}
public boolean isAsync() {
return this.isAsync_;
}
public boolean isDefaultToLongUrl() {
return this.defaultToLongUrl_;
}
@Override
public boolean isGetRequest() {
return false;
}
@Override
public boolean isPersistable() {
return false;
}
@Override
public void onRequestSucceeded(ServerResponse serverResponse, Branch branch) {
try {
String string = serverResponse.getObject().getString("url");
Branch.BranchLinkCreateListener branchLinkCreateListener = this.callback_;
if (branchLinkCreateListener != null) {
branchLinkCreateListener.onLinkCreate(string, null);
}
} catch (Exception e) {
BranchLogger.e("Caught Exception " + BranchLogger.stackTraceToString(e));
}
}
public void onUrlAvailable(String str) {
Branch.BranchLinkCreateListener branchLinkCreateListener = this.callback_;
if (branchLinkCreateListener != null) {
branchLinkCreateListener.onLinkCreate(str, null);
}
}
@Override
public boolean prepareExecuteWithoutTracking() {
return true;
}
public ServerRequestCreateUrl(Defines.RequestPath requestPath, JSONObject jSONObject, Context context) {
super(requestPath, jSONObject, context);
this.isAsync_ = true;
this.defaultToLongUrl_ = true;
}
}