forked from organicmaps/organicmaps
[android] Changed work with facebook sdk for login, i.e. replaced the LoginButton with custom textview and LoginManager direct usage
This commit is contained in:
parent
71e037bdfe
commit
f342295e36
2 changed files with 32 additions and 24 deletions
|
@ -100,23 +100,26 @@
|
|||
android:minHeight="@dimen/height_primary_button"
|
||||
android:layout_marginTop="@dimen/margin_base"
|
||||
tools:targetApi="jelly_bean"/>
|
||||
<com.facebook.login.widget.LoginButton
|
||||
xmlns:fb="http://schemas.android.com/apk/res-auto"
|
||||
<TextView
|
||||
android:id="@+id/facebook_button"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="@dimen/height_primary_button"
|
||||
android:foreground="?clickableBackground"
|
||||
android:background="?facebookButtonBackground"
|
||||
android:textColor="?accentButtonTextColor"
|
||||
android:drawableStart="@drawable/img_facebook"
|
||||
android:drawableLeft="@drawable/img_facebook"
|
||||
android:paddingLeft="@dimen/margin_half_plus"
|
||||
android:paddingStart="@dimen/margin_half_plus"
|
||||
android:paddingRight="@dimen/margin_base_plus"
|
||||
android:paddingEnd="@dimen/margin_base_plus"
|
||||
android:textAppearance="@style/MwmTextAppearance.Body3.Primary"
|
||||
android:fontFamily="@string/robotoMedium"
|
||||
android:text="@string/facebook"
|
||||
android:gravity="center"
|
||||
android:minHeight="@dimen/height_primary_button"
|
||||
android:layout_marginTop="@dimen/margin_base"
|
||||
android:textSize="@dimen/text_size_body_3"
|
||||
fb:com_facebook_login_text="@string/facebook"
|
||||
android:paddingStart="@dimen/margin_base"
|
||||
android:paddingLeft="@dimen/margin_base"
|
||||
android:paddingEnd="@dimen/margin_base"
|
||||
android:paddingRight="@dimen/margin_base"
|
||||
android:paddingTop="@dimen/margin_half_plus"
|
||||
android:paddingBottom="@dimen/margin_half_plus"
|
||||
android:layout_gravity="center_horizontal"/>
|
||||
tools:targetApi="jelly_bean"/>
|
||||
<TextView
|
||||
android:id="@+id/phone_button"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -23,7 +23,6 @@ import com.facebook.FacebookCallback;
|
|||
import com.facebook.FacebookException;
|
||||
import com.facebook.login.LoginManager;
|
||||
import com.facebook.login.LoginResult;
|
||||
import com.facebook.login.widget.LoginButton;
|
||||
import com.google.android.gms.auth.api.signin.GoogleSignIn;
|
||||
import com.google.android.gms.auth.api.signin.GoogleSignInClient;
|
||||
import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
|
||||
|
@ -68,6 +67,13 @@ public class SocialAuthDialogFragment extends BaseMwmDialogFragment
|
|||
startActivityForResult(intent, Constants.REQ_CODE_GOOGLE_SIGN_IN);
|
||||
}
|
||||
};
|
||||
@NonNull
|
||||
private final View.OnClickListener mFacebookClickListener = v -> {
|
||||
LoginManager lm = LoginManager.getInstance();
|
||||
lm.logInWithReadPermissions(SocialAuthDialogFragment.this,
|
||||
Constants.FACEBOOK_PERMISSIONS);
|
||||
lm.registerCallback(mFacebookCallbackManager, new FBCallback(SocialAuthDialogFragment.this));
|
||||
};
|
||||
@SuppressWarnings("NullableProblems")
|
||||
@NonNull
|
||||
private CheckBox mPrivacyPolicyCheck;
|
||||
|
@ -105,17 +111,9 @@ public class SocialAuthDialogFragment extends BaseMwmDialogFragment
|
|||
{
|
||||
View view = inflater.inflate(R.layout.fragment_auth_passport_dialog, container, false);
|
||||
|
||||
View googleButton = view.findViewById(R.id.google_button);
|
||||
googleButton.setOnClickListener(mGoogleClickListener);
|
||||
|
||||
LoginManager.getInstance().logOut();
|
||||
LoginButton facebookButton = view.findViewById(R.id.facebook_button);
|
||||
facebookButton.setReadPermissions(Constants.FACEBOOK_PERMISSIONS);
|
||||
facebookButton.setFragment(this);
|
||||
facebookButton.registerCallback(mFacebookCallbackManager, new FBCallback(this));
|
||||
|
||||
View phoneButton = view.findViewById(R.id.phone_button);
|
||||
phoneButton.setOnClickListener(mPhoneClickListener);
|
||||
setLoginButton(view, R.id.google_button, mGoogleClickListener);
|
||||
setLoginButton(view, R.id.facebook_button, mFacebookClickListener);
|
||||
setLoginButton(view, R.id.phone_button, mPhoneClickListener);
|
||||
|
||||
mPromoCheck = view.findViewById(R.id.newsCheck);
|
||||
mPrivacyPolicyCheck = view.findViewById(R.id.privacyPolicyCheck);
|
||||
|
@ -136,6 +134,13 @@ public class SocialAuthDialogFragment extends BaseMwmDialogFragment
|
|||
return view;
|
||||
}
|
||||
|
||||
private static void setLoginButton(@NonNull View root, @IdRes int id,
|
||||
@NonNull View.OnClickListener clickListener)
|
||||
{
|
||||
View button = root.findViewById(id);
|
||||
button.setOnClickListener(clickListener);
|
||||
}
|
||||
|
||||
private static void linkifyPolicyViews(@NonNull View root, @IdRes int... ids)
|
||||
{
|
||||
for (int id : ids)
|
||||
|
|
Loading…
Add table
Reference in a new issue