Skip to content

Instantly share code, notes, and snippets.

@chnouman
Created October 17, 2017 09:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chnouman/12c923030dd62d84c3454597a79b5402 to your computer and use it in GitHub Desktop.
Save chnouman/12c923030dd62d84c3454597a79b5402 to your computer and use it in GitHub Desktop.
package com.dixeam.millionarequotes.dialogBoxes;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.support.v7.widget.AppCompatButton;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.dixeam.millionarequotes.Activities.ActivitiesContainer;
import com.dixeam.millionarequotes.R;
import com.dixeam.millionarequotes.dialogBoxes.SignUpDialog;
import com.dixeam.millionarequotes.listeners.MainActivityLoginCallback;
import com.dixeam.millionarequotes.notifications.MainActivity;
import com.dixeam.millionarequotes.utils.StaticVariables;
import com.dixeam.millionarequotes.Activities.SplashScreen;
import com.google.android.gms.auth.api.Auth;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.firebase.crash.FirebaseCrash;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
;
/**
* Created by NoumanCh on 2/16/2017.
*/
public class DialogCustom extends DialogFragment /*GoogleSign.InfoLoginGoogleCallback,*/ {
Button signin_btn;
TextView dontHaveAcView,emailView,passwordView ;
int indicatorForGmailFb=0;
SignUpDialog dialogSignUp;
String email,password,phot,fname,lname;
Button facebook_sign_in_button;
private GoogleApiClient mGoogleApiClient;
private static final int RC_SIGN_IN = 007;
MainActivityLoginCallback mainActivityLoginCallback;
public DialogCustom(){
}
@SuppressLint("ValidFragment")
public DialogCustom(MainActivityLoginCallback callback){
mainActivityLoginCallback = callback;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreateDialog(savedInstanceState);
LayoutInflater inflater ;
View view;
inflater = getActivity().getLayoutInflater();
view = inflater.inflate(R.layout.custom_dialog_layout,null);
facebook_sign_in_button = (Button) view.findViewById(R.id.facebook_sign_in_button);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
emailView = (TextView) view.findViewById(R.id.username);
passwordView = (TextView) view.findViewById(R.id.password);
signin_btn = (Button) view.findViewById(R.id.signin_btn);
dontHaveAcView = (TextView) view.findViewById(R.id.dont);
dontHaveAcView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dontHaveAccount(v);
}
});
Button closeBtn = (Button) view.findViewById(R.id.close_dialog_btn);
Button termsBtn = (Button) view.findViewById(R.id.terms_dialog_btn);
closeBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
termsBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Toast.makeText(getActivity(), "Policies are not yet defined", Toast.LENGTH_SHORT).show();
Intent i = new Intent(getActivity(),ActivitiesContainer.class);
i.putExtra("comeFrom","about");
startActivity(i);
dismiss();
}
});
builder.setView(view);
signin_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Toast.makeText(getActivity(), "ready to login", Toast.LENGTH_SHORT).show();
if (!StaticVariables.isNetworkAvailable(getActivity())){
Toast.makeText(getActivity(), "Internet is not connected", Toast.LENGTH_SHORT).show();
return;
}
// Toast.makeText(getActivity(), "ready to login", Toast.LENGTH_SHORT).show();
email = emailView.getText().toString();
password = passwordView.getText().toString();
if (TextUtils.isEmpty(email) || TextUtils.isEmpty(password)){
Toast.makeText(getActivity(), "Enter Data First", Toast.LENGTH_SHORT).show();
return;
}
lname = "";
fname = "";
phot = "";
Log.i("data","email = "+email);
Log.i("data","pass = "+password);
try{
makeSignIN(getActivity());
}catch (Exception e){
Log.wtf("ErrorApp", "onClick: "+e.getMessage());
}
}
});
return builder.create();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
// EVENT CLICK BUTTON SIMPLE
public void loginButtonGoogle (View view) {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);
//googleSign.signIn();
}
public void loginButtonFacebook (View view) {
}
// LISTNER GOOGLE SIGN-IN
/*
//when login with gmail
@Override
public void getInfoLoginGoogle(GoogleSignInAccount account) {
Log.w("LOG","Name "+account.getDisplayName());
Log.v("LOG","Email " + account.getEmail());
Log.v("LOG","Photo "+account.getPhotoUrl());
fname = account.getDisplayName();
lname = account.getDisplayName();
if (account.getPhotoUrl()!=null && !account.getPhotoUrl().equals("")){
phot = account.getPhotoUrl().toString();
}
password ="";
Toast.makeText(getActivity(), "Login Succcessfully as "*//*+account.getDisplayName()*//*, Toast.LENGTH_SHORT).show();
Toast.makeText(getActivity(), "indi = "+indicatorForGmailFb, Toast.LENGTH_SHORT).show();
indicatorForGmailFb = 1;
makeSignIN(getActivity());
}*/
/* @Override
public void connectionFailedApiClient(ConnectionResult connectionResult) {
Log.e("LOG","Connection Failed API "+connectionResult.getErrorMessage());
}
@Override
public void loginFailed() {
Log.e("LOG","Login Failed");
}*/
// LISTNER FACEBOOK SIGN-IN
/*
@Override
public void getInfoFace(String id, String _name, String _email, String _photo) {
Log.w("LOG","Name "+_name);
Log.w("LOG","Email "+_email);
Log.w("LOG","Photo "+_photo);
fname = _name;
lname = _name;
email = _email;
password = "";
if (_photo!=null && !_photo.equals("")){
phot = _photo;
}
password ="";
indicatorForGmailFb = 1;
makeSignIN(getActivity());
}
*/
/* @Override
public void cancelLoginFace() {
Log.e("LOG","Login cancel");
}
@Override
public void erroLoginFace(FacebookException e) {
Log.e("LOG","Erro Login Face "+e.getMessage());
}
public void setValues(GoogleSign googleSign, FacebookSign facebookSign) {
this.googleSign = googleSign;
this.facebookSign = facebookSign;
}*/
//mnethod for dont have account\
public void dontHaveAccount(View v){
// close this one and propagate the new signup viwe
dismiss();
dialogSignUp = new SignUpDialog();
dialogSignUp.show(getFragmentManager(),"");
}
//method for sign in
public void makeSignIN(Context context) {
// Toast.makeText(context, "ind = "+indicatorForGmailFb, Toast.LENGTH_SHORT).show();
final ProgressDialog progressDialog = new ProgressDialog(getActivity()) ;
progressDialog.setMessage("Please wait...");
progressDialog.setIndeterminate(true);
progressDialog.setCancelable(false);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
Drawable drawable = new ProgressBar(getActivity()).getIndeterminateDrawable().mutate();
drawable.setColorFilter(ContextCompat.getColor(getActivity(), R.color.colorAccent),
PorterDuff.Mode.SRC_IN);
progressDialog.setIndeterminateDrawable(drawable);
}
progressDialog.show();
String url="";
if (indicatorForGmailFb == 0) {
url = getResources().getString(R.string.sign_url);
}
else if(indicatorForGmailFb==1){
url = getResources().getString(R.string.sign_gf);
}
//"http://10.0.3.2/DB/Assignment/TestApi.php"
Log.i("Url become ",url);
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("RESPONSE of signup",""+response);
// TastyToast.makeText(ReportActivity.this,"response "+response,TastyToast.LENGTH_SHORT).show();
try {
JSONObject array = new JSONObject(response);
boolean err = array.getBoolean("flag");
if(err){
Toast.makeText(getActivity(),"sign sucessfully",Toast.LENGTH_SHORT).show();
String userId = array.getString("userid");
String token = array.getString("token");
Log.i("data is",userId+token+"");
StaticVariables.setCurrentUserId(userId);
StaticVariables.TOKEN=token;
dismiss();
// StaticVariables.setCurrentUserToken(token);
saveToPreferences(getActivity(),userId,token);
Log.i("Token","at login token is"+token);
progressDialog.dismiss();
indicatorForGmailFb = 0;
saveToPreferences(getActivity(),userId,token);
Log.i("Token","at login token is"+token);
progressDialog.dismiss();
indicatorForGmailFb = 0;
mainActivityLoginCallback.onLoginSucess();
dismiss();
return;
}else {
String msg = array.getString("msg");
Toast.makeText(getActivity(),""+msg, Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
indicatorForGmailFb = 0;
}
} catch (JSONException e) {
FirebaseCrash.report(e);
Toast.makeText(getActivity(), "Error " , Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
mainActivityLoginCallback.onLoginFail();
dismiss();
e.printStackTrace();
indicatorForGmailFb = 0;
}catch (Exception e){
FirebaseCrash.report(e);
Toast.makeText(getActivity(), "Error " , Toast.LENGTH_SHORT).show();
progressDialog.dismiss();
Toast.makeText(getActivity(), "Error", Toast.LENGTH_SHORT).show();
indicatorForGmailFb = 0;
mainActivityLoginCallback.onLoginFail();
dismiss();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(),"Internet is Not working correctly "+error.getMessage(),Toast.LENGTH_LONG).show();
progressDialog.dismiss();
FirebaseCrash.report(error);
Toast.makeText(getActivity(),"Internet is Not working correctly ",Toast.LENGTH_LONG).show();
progressDialog.dismiss();
mainActivityLoginCallback.onLoginFail();
dismiss();
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
if (indicatorForGmailFb == 0 ){
params.put("email", email);
params.put("password", password);
}else{
//for social
params.put("email", email);
params.put("first_name", fname);
//System.out.println("string is "+encoded_string);
// params.put("last_name",lname);
if (phot.equals("")){
params.put("image","no-image");
}else
params.put("image",phot);
}
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
requestQueue.add(stringRequest);
return ;
}
//methdo to save userid and token to sharedPrteference
public static void saveToPreferences(Context context,String id,String token){
Log.i("Info ","user id is "+id+" token is "+token);
SharedPreferences sharedPreferences = context.getSharedPreferences("SavedData",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(StaticVariables.KEY_FOR_USER_ID,id);
editor.putString(StaticVariables.KEY_FOR_USER_TOKEN,token);
editor.putBoolean(StaticVariables.KEY_FOR_LOGIN_INDICATOR,true);
editor.commit();
Log.i("INFORMATNIO","Tokenis "+sharedPreferences.getString(StaticVariables.KEY_FOR_USER_TOKEN,""));
Log.i("INFORMATNIO","key for uesr id is "+sharedPreferences.getString(StaticVariables.KEY_FOR_USER_ID,""));
Log.i("INFORMATNIO","key for uesr id is "+sharedPreferences.getBoolean(StaticVariables.KEY_FOR_LOGIN_INDICATOR,false));
Log.i("INFORMATNIO","DATA OF USERID & USERTOKEN SAVED TO PREFERENCES");
SplashScreen.extractFromPreferenpoces(context);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment