Created
October 17, 2017 09:53
-
-
Save chnouman/47ba682ddd42a28cc5d2317f22de612c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) { | |
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) { | |
if (!StaticVariables.isNetworkAvailable(getActivity())){ | |
Toast.makeText(getActivity(), "Internet is not connected", Toast.LENGTH_SHORT).show(); | |
return; | |
} | |
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