Skip to content

Instantly share code, notes, and snippets.

@brunoziie
Created December 6, 2021 20:42
Show Gist options
  • Save brunoziie/4666b1751da4f852129867c226f2f2e3 to your computer and use it in GitHub Desktop.
Save brunoziie/4666b1751da4f852129867c226f2f2e3 to your computer and use it in GitHub Desktop.
Fix FBProfileModule error
// node_modules/react-native-fbsdk-next/android/src/main/java/com/facebook/reactnative/androidsdk/FBProfileModule.java
package com.facebook.reactnative.androidsdk;
import com.facebook.Profile;
import com.facebook.react.bridge.Callback;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.module.annotations.ReactModule;
import androidx.annotation.NonNull;
/**
* This is a {@link NativeModule} that allows JS to use FBSDKProfile info of the current logged user.
*/
@ReactModule(name = FBProfileModule.NAME)
public class FBProfileModule extends ReactContextBaseJavaModule {
public static final String NAME = "FBProfile";
public FBProfileModule(ReactApplicationContext reactContext) {
super(reactContext);
}
@NonNull
@Override
public String getName() {
return NAME;
}
/**
* Get the current logged profile.
* @param callback Use callback to pass the current logged profile back to JS.
*/
@ReactMethod
public void getCurrentProfile(Callback callback) {
//Return the profile object as a ReactMap.
callback.invoke(Profile.getCurrentProfile() == null
? null
: Utility.profileToReactMap(Profile.getCurrentProfile()));
}
}
// node_modules/react-native-fbsdk-next/android/src/main/java/com/facebook/reactnative/androidsdk/FBSDKPackage.java
/**
* 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.reactnative.androidsdk;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import java.util.Arrays;
import java.util.List;
public class FBSDKPackage implements ReactPackage {
private FBActivityEventListener mActivityEventListener = new FBActivityEventListener();
@Override
public List<NativeModule> createNativeModules(
ReactApplicationContext reactContext) {
return Arrays.<NativeModule>asList(
new FBAccessTokenModule(reactContext),
new FBAppEventsLoggerModule(reactContext),
new FBAppLinkModule(reactContext),
new FBGameRequestDialogModule(reactContext, mActivityEventListener),
new FBGraphRequestModule(reactContext),
new FBLoginManagerModule(reactContext, mActivityEventListener),
new FBMessageDialogModule(reactContext, mActivityEventListener),
new FBProfileModule(reactContext),
new FBSettingsModule(),
new FBShareDialogModule(reactContext, mActivityEventListener)
);
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Arrays.<ViewManager>asList(
new FBLoginButtonManager(reactContext),
new FBSendButtonManager(),
new FBShareButtonManager()
);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment