Dependancy
implementation 'com.google.code.ksoap2-android:ksoap2-android:3.6.2'
package com.softwisdom.e_building_user;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.onesignal.OneSignal;
import com.softwisdom.e_building_user.Bean.UserBean;
import com.softwisdom.e_building_user.action.ConnectionDetector;
import com.softwisdom.e_building_user.action.Webservice;
import com.softwisdom.e_building_user.onesignal.MyNotificationOpenedHandler;
import com.softwisdom.e_building_user.onesignal.MyNotificationReceivedHandler;
import com.softwisdom.e_building_user.preference.LoginPreferences;
import com.google.gson.Gson;
import org.jetbrains.annotations.TestOnly;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.kxml2.kdom.Element;
import org.kxml2.kdom.Node;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
public class LoginActivity extends AppCompatActivity {
protected TextView tvSignIn,tvForget,tvSkipRegister;
private TextView tvSignUp;
private Activity activity = LoginActivity.this;
private ImageView img_google;
private EditText etMobile, etPassword;
private LoginPreferences loginPreferences;
private ConnectionDetector connectionDetector;
private ProgressDialog dialog;
private String token;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_login);
initVariables();
initView();
setListners();
tokenGenerate();
}
public void initVariables() {
loginPreferences = new LoginPreferences(activity);
connectionDetector = new ConnectionDetector(activity);
}
/*One signal token generation*/
private void tokenGenerate()
{
OneSignal.startInit(this)
.setNotificationOpenedHandler(new MyNotificationOpenedHandler())
.setNotificationReceivedHandler(new MyNotificationReceivedHandler())
.autoPromptLocation(true)
.inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
.init();
OneSignal.idsAvailable(new OneSignal.IdsAvailableHandler() {
@Override
public void idsAvailable(String userId, String registrationId) {
token = userId;
Log.e("token==", token);
if (registrationId != null) {
// Log.e("debug", "registrationId:" + registrationId);
}
}
});
}
private void initView() {
tvSignUp = (TextView) findViewById(R.id.tvSignUp);
tvSignIn = (TextView) findViewById(R.id.tvSignIn);
tvForget = (TextView) findViewById(R.id.tvForget);
tvSkipRegister = (TextView) findViewById(R.id.tvSkipRegister);
etMobile = (EditText) findViewById(R.id.etMobile);
etPassword = (EditText) findViewById(R.id.etPassword);
img_google = (ImageView) findViewById(R.id.img_google);
}
public void setListners() {
tvSignUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(activity,OtpActivity.class);
intent.putExtra("type","r");
startActivity(intent);
finish();
}
});
tvSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String mobile = etMobile.getText().toString();
String password = etPassword.getText().toString();
if (!mobile.isEmpty() && mobile.length() == 10 && !password.isEmpty()) {
if (connectionDetector.isConnectingToInternet()) {
new Login().execute( mobile,password);
} else {
Toast.makeText(activity, getResources().getString(R.string.please_check_internet_connection), Toast.LENGTH_SHORT).show();
}
} else {
if (mobile.isEmpty()) {
etMobile.setError(getResources().getString(R.string.enter_mobile));
etMobile.requestFocus();
} else if (mobile.length() != 10) {
etMobile.setError(getResources().getString(R.string.mobile_should_be_10_digits));
etMobile.requestFocus();
} else if (password.isEmpty()) {
etPassword.setError(getResources().getString(R.string.enter_password));
etPassword.requestFocus();
}
}
}
});
tvForget.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(activity,ForgetPasswordActivity.class));
finish();
}
});
tvSkipRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!loginPreferences.isUserLoggedIn()) {
Intent intent = new Intent(activity, OtpActivity.class);
intent.putExtra("type", "g");
startActivity(intent);
finish();
}
}
});
}
private class Login extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
dialog = new ProgressDialog(activity);
dialog.setMessage(getResources().getString(R.string.please_wait));
dialog.setCancelable(false);
dialog.show();
}
@Override
protected String doInBackground(String... params) {
SoapObject soapObject = new SoapObject(Webservice.NAMESPACE, Webservice.USER_LOGIN);
Element authHeader = new Element();
authHeader.setNamespace(Webservice.NAMESPACE);
authHeader.setName("AuthUser");
Element username = new Element().createElement(Webservice.NAMESPACE, "UserName");
username.addChild(Node.TEXT, Webservice.USERNAME);
authHeader.addChild(Node.ELEMENT, username);
Element pass = new Element().createElement(Webservice.NAMESPACE, "Password");
pass.addChild(Node.TEXT, Webservice.PASSWORD);
authHeader.addChild(Node.ELEMENT, pass);
Element Token = new Element().createElement(Webservice.NAMESPACE, "Token");
Token.addChild(Node.TEXT, Webservice.TOKEN);
authHeader.addChild(Node.ELEMENT, Token);
soapObject.addProperty("mobile_no", params[0]);
soapObject.addProperty("password", params[1]);
soapObject.addProperty("device_id", token);
Log.e("Login_Request", soapObject.toString());
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.headerOut = new Element[]{authHeader};
envelope.dotNet = true;
envelope.setOutputSoapObject(soapObject);
HttpTransportSE androidHttpTransport = new HttpTransportSE(Webservice.URL);
try {
androidHttpTransport.call(Webservice.NAMESPACE + Webservice.USER_LOGIN, envelope);
androidHttpTransport.getServiceConnection().setRequestProperty("Connection", "close");
} catch (IOException e) {
e.printStackTrace();
Log.e("IError", e.toString());
} catch (XmlPullParserException e) {
e.printStackTrace();
Log.e("IXml", e.toString());
}
SoapPrimitive response = null;
try {
response = (SoapPrimitive) envelope.getResponse();
} catch (SoapFault soapFault) {
soapFault.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
String res = null;
if (androidHttpTransport != null) {
if (response != null) {
res = response.toString();
} else {
res = null;
}
androidHttpTransport.reset();
try {
androidHttpTransport.getServiceConnection().disconnect();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return res;
}
@Override
protected void onPostExecute(String result) {
dialog.dismiss();
if (result != null && !result.equals("[]")) {
Log.e("Login Response==", result);
try {
JSONObject obj = new JSONObject(result);
String success = obj.getString("Success");
if (success.equals("1")) {
JSONArray jsonArray = obj.getJSONArray("result");
UserBean bean = new UserBean();
for (int i = 0; i < jsonArray.length(); i++) {
Gson gson = new Gson();
bean = gson.fromJson(obj.getJSONArray("result").get(0).toString(), UserBean.class);
}
/* if(bean.getTemp_status().equals("false"))
{
Toast.makeText(activity, "You are not approved", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(activity, "Login Successfully", Toast.LENGTH_SHORT).show();
loginPreferences.createUserLoginSession(bean.getUser_id()
,bean.getName(),bean.getProfile_pic(),bean.getPro_type(),bean.getPro_id(),bean.getWing_id()
,bean.getOffice_no(),bean.getTemp_status(),bean.getStatus(),bean.getCreate_by()
,bean.getCreate_date());
startActivity(new Intent(activity,HomeActivity.class));
finish();
}*/
Toast.makeText(activity, "" + getResources().getString(R.string.login_successfully), Toast.LENGTH_SHORT).show();
loginPreferences.createUserLoginSession(bean.getUser_id(), bean.getName(), bean.getProfile_pic(), bean.getPassword(), bean.getMobile_no(),bean.getEmail(),"r");
loginPreferences.setLoginStatus(true);
Webservice.isFirstTimeOpen=true;
Intent intent = new Intent(activity, MainActivity.class);
startActivity(intent);
finish();
} else {
Toast.makeText(activity, "" + getResources().getString(R.string.invalid_username_and_passsword), Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
} else {
Toast.makeText(activity, getResources().getString(R.string.no_data_found), Toast.LENGTH_SHORT).show();
}
super.onPostExecute(result);
}
}
}
No comments:
Post a Comment