/** * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. * * You are hereby granted a non-exclusive, worldwide, royalty-free license to use, * copy, modify, and distribute this software in source code or binary form for use * in connection with the web services and APIs provided by Facebook. * * As with any software that integrates with the Facebook platform, your use of * this software is subject to the Facebook Developer Principles and Policies * [http://developers.facebook.com/policy/]. This copyright notice shall be * included in all copies or substantial portions of the software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ package com.facebook.login; import android.content.Intent; import android.os.Parcel; import android.os.Parcelable; import com.facebook.internal.NativeProtocol; import com.facebook.internal.ServerProtocol; class KatanaProxyLoginMethodHandler extends NativeAppLoginMethodHandler { KatanaProxyLoginMethodHandler(LoginClient loginClient) { super(loginClient); } @Override String getNameForLogging() { return "katana_proxy_auth"; } @Override boolean tryAuthorize(LoginClient.Request request) { String e2e = LoginClient.getE2E(); Intent intent = NativeProtocol.createProxyAuthIntent( loginClient.getActivity(), request.getApplicationId(), request.getPermissions(), e2e, request.isRerequest(), request.hasPublishPermission(), request.getDefaultAudience(), getClientState(request.getAuthId())); addLoggingExtra(ServerProtocol.DIALOG_PARAM_E2E, e2e); return tryIntent(intent, LoginClient.getLoginRequestCode()); } KatanaProxyLoginMethodHandler(Parcel source) { super(source); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { super.writeToParcel(dest, flags); } public static final Parcelable.Creator<KatanaProxyLoginMethodHandler> CREATOR = new Parcelable.Creator() { @Override public KatanaProxyLoginMethodHandler createFromParcel(Parcel source) { return new KatanaProxyLoginMethodHandler(source); } @Override public KatanaProxyLoginMethodHandler[] newArray(int size) { return new KatanaProxyLoginMethodHandler[size]; } }; }