android - Having Trouble moving Google sign-in button to fragment -


as of now, have google sign-in button in activity works fine. i'm trying move button new fragment while keeping of main code in activity possible. have absolutely no idea on how proceed.

this activity

package com.example.akhilsukh01.truckory; import android.content.intent; import android.support.annotation.nonnull; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.util.log; import android.view.view; import android.widget.toast;  import com.google.android.gms.auth.api.auth; import com.google.android.gms.auth.api.signin.googlesigninaccount; import com.google.android.gms.auth.api.signin.googlesigninoptions; import com.google.android.gms.auth.api.signin.googlesigninresult; import com.google.android.gms.common.connectionresult; import com.google.android.gms.common.signinbutton; import com.google.android.gms.common.api.googleapiclient; import com.google.android.gms.tasks.oncompletelistener; import com.google.android.gms.tasks.task; import com.google.firebase.auth.authcredential; import com.google.firebase.auth.authresult; import com.google.firebase.auth.firebaseauth; import com.google.firebase.auth.firebaseuser; import com.google.firebase.auth.googleauthprovider;  public class loginactivity extends appcompatactivity {      signinbutton button;     firebaseauth mauth;     private final static int rc_sign_in = 1;      googleapiclient mgoogleapiclient;     firebaseauth.authstatelistener mauthlistener;      @override     protected void onstart() {         super.onstart();         mauth.addauthstatelistener(mauthlistener);     }      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_login);          button = (signinbutton) findviewbyid(r.id.googlebtn);         mauth = firebaseauth.getinstance();          button.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                 signin();             }         });          mauthlistener = new firebaseauth.authstatelistener() {             @override             public void onauthstatechanged(@nonnull firebaseauth firebaseauth) {                 if(firebaseauth.getcurrentuser() != null){                      startactivity(new intent(loginactivity.this, homeactivity.class));                 }             }         };          googlesigninoptions gso = new googlesigninoptions.builder(googlesigninoptions.default_sign_in)                 .requestidtoken(getstring(r.string.default_web_client_id))                 .requestemail()                 .build();          mgoogleapiclient = new googleapiclient.builder(this)                 .enableautomanage(this /* fragmentactivity */, new googleapiclient.onconnectionfailedlistener() {                     @override                     public void onconnectionfailed(@nonnull connectionresult connectionresult) {                         toast.maketext(loginactivity.this, "something went wrong", toast.length_short).show();                     }                 })                 .addapi(auth.google_sign_in_api, gso)                 .build();      }  //    googlesigninoptions gso = new googlesigninoptions.builder(googlesigninoptions.default_sign_in) //            .requestidtoken(getstring(r.string.default_web_client_id)) //            .requestemail() //            .build();      private void signin() {         intent signinintent = auth.googlesigninapi.getsigninintent(mgoogleapiclient);         startactivityforresult(signinintent, rc_sign_in);     }     @override     public void onactivityresult(int requestcode, int resultcode, intent data) {         super.onactivityresult(requestcode, resultcode, data);          // result returned launching intent googlesigninapi.getsigninintent(...);         if (requestcode == rc_sign_in) {             googlesigninresult result = auth.googlesigninapi.getsigninresultfromintent(data);             if (result.issuccess()) {                 // google sign in successful, authenticate firebase                 googlesigninaccount account = result.getsigninaccount();                 firebaseauthwithgoogle(account);             } else {                 toast.maketext(loginactivity.this, "auth went wrong", toast.length_short).show();             }         }     }      private void firebaseauthwithgoogle(googlesigninaccount account) {         authcredential credential = googleauthprovider.getcredential(account.getidtoken(), null);         mauth.signinwithcredential(credential)                 .addoncompletelistener(this, new oncompletelistener<authresult>() {                     @override                     public void oncomplete(@nonnull task<authresult> task) {                         if (task.issuccessful()) {                             // sign in success, update ui signed-in user's information                             log.d("tag", "signinwithcredential:success");                             firebaseuser user = mauth.getcurrentuser();                             //updateui(user);                         } else {                             // if sign in fails, display message user.                             log.w("tag", "signinwithcredential:failure", task.getexception());                             toast.maketext(loginactivity.this, "authentication failed.",                                     toast.length_short).show();                             //updateui(null);                         }                     }                 });     } } 

i've created class fragment code doesn't work there @ because extends fragment instead of appcompatactivity. appreciated.


Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -