Skip to content

Commit

Permalink
added companyData
Browse files Browse the repository at this point in the history
  • Loading branch information
Itgel G committed Jun 14, 2021
1 parent 9c275be commit 32d4493
Show file tree
Hide file tree
Showing 8 changed files with 100 additions and 83 deletions.
20 changes: 8 additions & 12 deletions erxeslibrary/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,35 +19,31 @@

<application android:largeHeap="true"
android:usesCleartextTraffic="true">
<activity
android:name=".ui.faq.FaqDetailActivity"
android:launchMode="singleTask"

android:theme="@style/Theme_erxes_dialog" />
<activity
android:name=".ui.faq.FaqActivity"
android:launchMode="singleTask"

android:theme="@style/Theme_erxes_dialog" />
<activity
android:name=".ui.ErxesActivity"
android:launchMode="singleTask"
android:theme="@style/Theme_erxes_dialog"

android:windowSoftInputMode="adjustResize|stateHidden"/>
<activity
android:name=".ui.conversations.ConversationListActivity"
android:launchMode="singleTask"
android:theme="@style/Theme_erxes_dialog"

android:windowSoftInputMode="adjustResize|stateHidden"/>
<activity
android:name=".ui.message.MessageActivity"
android:launchMode="singleTask"
android:theme="@style/Theme_erxes_dialog"

android:windowSoftInputMode="adjustResize|stateHidden" />

<activity
android:name=".ui.faq.FaqDetailActivity"
android:launchMode="singleTask"
android:theme="@style/Theme_erxes_dialog" />
<activity
android:name=".ui.faq.FaqActivity"
android:launchMode="singleTask"
android:theme="@style/Theme_erxes_dialog" />
<service android:name=".connection.service.ListenerService" />
</application>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
mutation widgetsMessengerConnect($brandCode: String!, $email: String, $phone: String,$isUser:Boolean, $data: JSON){
widgetsMessengerConnect (brandCode: $brandCode, email: $email, phone: $phone,isUser:$isUser, data: $data){
mutation widgetsMessengerConnect($brandCode: String!, $email: String, $phone: String, $isUser:Boolean, $data: JSON, $companyData: JSON){
widgetsMessengerConnect (brandCode: $brandCode, email: $email, phone: $phone, isUser:$isUser, data: $data, companyData: $companyData){
integrationId
uiOptions
languageCode
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import android.text.Html;
import android.text.Spanned;
import android.text.TextUtils;
import android.util.Log;
import android.widget.EditText;
import android.widget.TextView;

Expand Down Expand Up @@ -40,9 +41,6 @@
import com.newmedia.erxeslibrary.utils.DataManager;
import com.newmedia.erxeslibrary.utils.ListTagHandler;

import org.json.JSONException;
import org.json.JSONObject;

import java.lang.reflect.Field;
import java.text.ParseException;
import java.text.SimpleDateFormat;
Expand All @@ -66,7 +64,7 @@ public class Config {
public String brandCode;
private final boolean isMessengerOnline = false;
public boolean showVideoCallRequest = false;
private DataManager dataManager;
private static DataManager dataManager;
private Activity activityConfig;
public Context context;
private ErxesRequest erxesRequest;
Expand All @@ -82,6 +80,8 @@ public class Config {
public boolean isOnline;
public String brandDescription, brandName, serverTime = "";

public String email, phone, companyData, data;

private Config(Context context) {
this.context = context;
dataManager = DataManager.getInstance(context);
Expand All @@ -94,9 +94,17 @@ public static Config getInstance(Context context) {
if (config.host3100 != null)
config.erxesRequest.set_client();
}
config.email = dataManager.getDataS(DataManager.EMAIL);
config.phone = dataManager.getDataS(DataManager.PHONE);
config.companyData = dataManager.getDataS(DataManager.COMPANYDATA);
config.data = dataManager.getDataS(DataManager.DATA);
return config;
}

public boolean isUser() {
return email != null || phone != null;
}

public String convertDatetime(long createDate) {
long diffTime = Calendar.getInstance().getTimeInMillis() - createDate;

Expand Down Expand Up @@ -240,55 +248,45 @@ public boolean isValidEmail(CharSequence target) {
}
}

private void Init(String brandCode, String host3100, String host3300, String hostUpload) {
private void Init(String brandCode, String host3100, String host3300, String hostUpload, String email, String phone, String companyData, String data) {
this.host3100 = host3100;
this.host3300 = host3300;
this.hostUpload = hostUpload;
this.brandCode = brandCode;
this.email = email;
this.phone = phone;
this.companyData = companyData;
this.data = data;
dataManager.setData("host3100", this.host3100);
dataManager.setData("host3300", this.host3300);
dataManager.setData("hostUpload", this.hostUpload);
dataManager.setData("BRANDCODE", this.brandCode);
dataManager.setData(DataManager.EMAIL, this.email);
dataManager.setData(DataManager.PHONE, this.phone);
dataManager.setData(DataManager.COMPANYDATA, this.companyData);
dataManager.setData(DataManager.DATA, this.data);
if (dataManager.getDataS("host3300") != null)
intent = new Intent(context, ListenerService.class);
LoadDefaultValues();
erxesRequest.set_client();
}

public void Start() {
checkRequired(false, null, null, null);
checkRequired(isUser());
}

public void Start(String jsonString) {
String email = null, phone = null;
try {
JSONObject jsonObject1 = new JSONObject(jsonString);
email = jsonObject1.getString("email");
phone = jsonObject1.getString("phone");
} catch (JSONException e) {
e.printStackTrace();
}
checkRequired(true, email, phone, jsonString);
}

public void initActivity(boolean hasData, String email, String phone, String customData) {
public void initActivity() {
initializeIcon();
initializeFresco();
dataManager.setData(DataManager.ISUSER, hasData);
dataManager.setData(DataManager.EMAIL, email);
dataManager.setData(DataManager.PHONE, phone);
dataManager.setData(DataManager.CUSTOMDATA, customData);

Intent a = new Intent(context, ErxesActivity.class);
a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
a.putExtra("hasData", hasData);
a.putExtra("customData", customData);
a.putExtra("mEmail", email);
a.putExtra("mPhone", phone);

context.startActivity(a);
}

private void checkRequired(boolean hasData, String email, String phone, String jsonObject) {
if (hasData) erxesRequest.setConnect(true, true, hasData, email, phone, jsonObject);
private void checkRequired(boolean isUser) {
if (isUser) erxesRequest.setConnect(true, isUser());
else erxesRequest.getIntegration();
}

Expand All @@ -298,6 +296,10 @@ public void LoadDefaultValues() {
host3300 = dataManager.getDataS("host3300");
hostUpload = dataManager.getDataS("hostUpload");
brandCode = dataManager.getDataS("BRANDCODE");
email = dataManager.getDataS("EMAIL");
phone = dataManager.getDataS("PHONE");
companyData = dataManager.getDataS("COMPANYDATA");
data = dataManager.getDataS("DATA");

customerId = dataManager.getDataS(DataManager.CUSTOMERID);
integrationId = dataManager.getDataS(DataManager.INTEGRATIONID);
Expand Down Expand Up @@ -407,8 +409,14 @@ public static class Builder {
private String uploadHost;
private String protocal = "https";

private String email;
private String phone;
private String companyData;
private String data;

public Builder(@NonNull String brand) {
this.brand = brand;

}

public Builder setApiHost(String apiHost) {
Expand Down Expand Up @@ -437,6 +445,26 @@ public Builder setOrganizationName(String organizationName) {
return this;
}

public Builder setEmail(String email) {
this.email = email;
return this;
}

public Builder setPhone(String phone) {
this.phone = phone;
return this;
}

public Builder setCompanyData(String companyData) {
this.companyData = companyData;
return this;
}

public Builder setData(String data) {
this.data = data;
return this;
}

private void setGqlApiHost() {
this.graphqlApiHost = protocal + "://" + this.apiHost + "/graphql";
}
Expand All @@ -453,7 +481,16 @@ private void setUploadHost() {

public Config build(Context context) {
Config config = Config.getInstance(context);
config.Init(this.brand, this.graphqlApiHost, this.subscriptionHost, this.uploadHost);
config.Init(
this.brand,
this.graphqlApiHost,
this.subscriptionHost,
this.uploadHost,
this.email,
this.phone,
this.companyData,
this.data
);
return config;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import com.apollographql.apollo.subscription.WebSocketSubscriptionTransport;
import com.erxes.io.opens.type.AttachmentInput;
import com.erxes.io.opens.type.CustomType;
import com.newmedia.erxeslibrary.BuildConfig;
import com.newmedia.erxeslibrary.connection.ChangeOperator;
import com.newmedia.erxeslibrary.connection.GetBotInitialMessage;
import com.newmedia.erxeslibrary.connection.GetConversation;
Expand Down Expand Up @@ -127,12 +126,12 @@ private OkHttpClient.Builder enableTls12(OkHttpClient.Builder client) {
return client;
}

public void setConnect(boolean isCheckRequired, boolean isUser, boolean hasData, String email, String phone, String data) {
public void setConnect(boolean isCheckRequired, boolean isUser) {
if (!config.isNetworkConnected()) {
return;
}
SetConnect setConnect = new SetConnect(this, context);
setConnect.run(isCheckRequired, isUser, hasData, email, phone, data);
setConnect.run(isCheckRequired, isUser);
}

void getIntegration() {
Expand Down Expand Up @@ -203,12 +202,13 @@ public void sendLead() {
SendLead sendLead = new SendLead(this, context);
sendLead.run();
}
public void sendWidgetBotRequest(String content,String type,String payload) {

public void sendWidgetBotRequest(String content, String type, String payload) {
if (!config.isNetworkConnected()) {
return;
}
WidgetBotRequest widgetBotRequest = new WidgetBotRequest(this, context);
widgetBotRequest.run(content,type,payload);
widgetBotRequest.run(content, type, payload);
}

public void changeOperator(String conversationid) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public void onNext(@NonNull Response<WidgetsGetMessengerIntegrationQuery.Data> d
config.changeLanguage(dataResponse.getData().widgetsGetMessengerIntegration().languageCode());
ErxesHelper.load_uiOptions(dataResponse.getData().widgetsGetMessengerIntegration().uiOptions());
ErxesHelper.load_messengerData(dataResponse.getData().widgetsGetMessengerIntegration().messengerData());
config.initActivity(false,null,null,null);
config.initActivity();
} catch (Exception e) {
e.printStackTrace();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,27 +63,18 @@ public String getRandom() {
String generatedString = buffer.toString();
return generatedString;
}
public void run(boolean isCheckRequired, boolean isUser, boolean hasData, String email, String phone, String data) {
this.customData = data;
public void run(boolean isCheckRequired, boolean isUser) {
this.customData = config.data;
Gson gson = new Gson();
Map customDataMap = gson.fromJson(data, Map.class);
String imei = getDeviceIMEI();

if(imei == null){
if(dataManager.getDataS(DataManager.ANDROID_UNIQUE)==null){
imei = getRandom();
dataManager.setData(DataManager.ANDROID_UNIQUE,imei);
} else {
imei = dataManager.getDataS(DataManager.ANDROID_UNIQUE);
}
}
Map customDataMap = gson.fromJson(config.data, Map.class);
Map customCompanyDataMap = gson.fromJson(config.companyData, Map.class);

WidgetsMessengerConnectMutation mutate = WidgetsMessengerConnectMutation.builder()
.brandCode(config.brandCode)
.email(email)
.phone(phone)
.email(config.email)
.phone(config.phone)
.isUser(isUser)
// .visitorId(imei)
.companyData(new Json(customCompanyDataMap))
.data(new Json(customDataMap))
.build();
Rx3Apollo.from(erxesRequest.apolloClient
Expand All @@ -104,9 +95,9 @@ public void onNext(Response<WidgetsMessengerConnectMutation.Data> response) {
if (config.messengerdata != null) {
if (config.messengerdata.isShowLauncher()) {
prepareData(response);
config.initActivity(hasData, email, phone, customData);
config.initActivity();
} else {
erxesRequest.setConnect(!isCheckRequired, isUser, hasData, email, phone, customData);
erxesRequest.setConnect(!isCheckRequired,config.isUser());
}
}
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ public class ErxesActivity extends AppCompatActivity implements ErxesObserver {
private ErxesRequest erxesRequest;
private DataManager dataManager;
private LinearLayout loaderView;
private String customData, mEmail, mPhone;

private boolean hasData;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand Down Expand Up @@ -82,16 +79,12 @@ protected void onCreate(Bundle savedInstanceState) {
cancelImageView.setOnClickListener(touchListener);
initIcon();

hasData = getIntent().getBooleanExtra("hasData", false);
customData = getIntent().getStringExtra("customData");
mEmail = getIntent().getStringExtra("mEmail");
mPhone = getIntent().getStringExtra("mPhone");
init();
}

private void init() {
if (hasData) {
erxesRequest.setConnect( false, true, hasData, mEmail, mPhone, customData);
if (config.isUser()) {
erxesRequest.setConnect( false, true);
} else {
change_color();
contact.setVisibility(View.VISIBLE);
Expand Down Expand Up @@ -157,7 +150,8 @@ public void Connect_click(View v) {
if (email.getVisibility() == View.GONE) {
if (phone.getText().toString().length() > 7) {
dataManager.setData(DataManager.PHONE, phone.getText().toString());
erxesRequest.setConnect( false, false, false, "", phone.getText().toString(), null);
config.phone = phone.getText().toString();
erxesRequest.setConnect(false,false);
contact.setVisibility(View.GONE);
loaderView.setVisibility(View.VISIBLE);

Expand All @@ -172,7 +166,8 @@ public void Connect_click(View v) {
if (config.isValidEmail(email.getText().toString())) {
email.setError(null);
dataManager.setData(DataManager.EMAIL, email.getText().toString());
erxesRequest.setConnect( false, false, false, email.getText().toString(), "", null);
config.email = email.getText().toString();
erxesRequest.setConnect( false, false);
if (view != null) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
Expand Down
Loading

0 comments on commit 32d4493

Please sign in to comment.