Created
October 17, 2017 09:53
Revisions
-
chnouman created this gist
Oct 17, 2017 .There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,413 @@ 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); } }