Skip to content

Commit

Permalink
fix(android): ShareDialog.setMode('native') throws in Turkish language (
Browse files Browse the repository at this point in the history
#240)

* fix(android): ShareDialog.setMode throws in Turkish language when mode contains letter i
* Update with Locale.ROOT
* fix(android): fix all uses of Locale-sensitive APIs to use Locale.ROOT

Co-authored-by: Mike Hardy <github@mikehardy.net>
  • Loading branch information
OrkhanAlikhanov and mikehardy committed Apr 30, 2022
1 parent caf9c0a commit 30d9dd3
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 9 deletions.
Expand Up @@ -30,6 +30,7 @@
import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;

import java.util.Locale;

public class FBLoginButtonManager extends SimpleViewManager<RCTLoginButton> {

Expand All @@ -56,7 +57,7 @@ public void setLoginBehavior(RCTLoginButton loginButton, @Nullable String loginB
LoginBehavior behavior = LoginBehavior.NATIVE_WITH_FALLBACK;

if (loginBehavior != null) {
behavior = LoginBehavior.valueOf(loginBehavior.toUpperCase());
behavior = LoginBehavior.valueOf(loginBehavior.toUpperCase(Locale.ROOT));
}

loginButton.setLoginBehavior(behavior);
Expand All @@ -67,7 +68,7 @@ public void setDefaultAudience(RCTLoginButton loginButton, @Nullable String defa
DefaultAudience audience = DefaultAudience.FRIENDS;

if (defaultAudience != null) {
audience = DefaultAudience.valueOf(defaultAudience.toUpperCase());
audience = DefaultAudience.valueOf(defaultAudience.toUpperCase(Locale.ROOT));
}

loginButton.setDefaultAudience(audience);
Expand Down
Expand Up @@ -37,6 +37,7 @@
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.module.annotations.ReactModule;

import java.util.Locale;
import java.util.Set;

/**
Expand Down Expand Up @@ -85,7 +86,7 @@ public String getName() {
*/
@ReactMethod
public void getLoginBehavior(Promise promise) {
promise.resolve(LoginManager.getInstance().getLoginBehavior().name().toLowerCase());
promise.resolve(LoginManager.getInstance().getLoginBehavior().name().toLowerCase(Locale.ROOT));
}

/**
Expand All @@ -96,7 +97,7 @@ public void getLoginBehavior(Promise promise) {
*/
@ReactMethod
public void setLoginBehavior(String loginBehaviorString) {
LoginBehavior loginBehavior = LoginBehavior.valueOf(loginBehaviorString.toUpperCase());
LoginBehavior loginBehavior = LoginBehavior.valueOf(loginBehaviorString.toUpperCase(Locale.ROOT));
LoginManager.getInstance().setLoginBehavior(loginBehavior);
}

Expand All @@ -106,7 +107,7 @@ public void setLoginBehavior(String loginBehaviorString) {
*/
@ReactMethod
public void getDefaultAudience(Promise promise) {
promise.resolve(LoginManager.getInstance().getDefaultAudience().name().toLowerCase());
promise.resolve(LoginManager.getInstance().getDefaultAudience().name().toLowerCase(Locale.ROOT));
}

/**
Expand All @@ -116,7 +117,7 @@ public void getDefaultAudience(Promise promise) {
*/
@ReactMethod
public void setDefaultAudience(String defaultAudienceString) {
DefaultAudience defaultAudience = DefaultAudience.valueOf(defaultAudienceString.toUpperCase());
DefaultAudience defaultAudience = DefaultAudience.valueOf(defaultAudienceString.toUpperCase(Locale.ROOT));
LoginManager.getInstance().setDefaultAudience(defaultAudience);
}

Expand Down
Expand Up @@ -20,6 +20,7 @@

package com.facebook.reactnative.androidsdk;

import java.util.Locale;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
Expand Down Expand Up @@ -96,7 +97,7 @@ public void show(ReadableMap shareContent, final Promise promise) {

@ReactMethod
public void setMode(String mode) {
mShareDialogMode = ShareDialog.Mode.valueOf(mode.toUpperCase());
mShareDialogMode = ShareDialog.Mode.valueOf(mode.toUpperCase(Locale.ROOT));
}

@ReactMethod
Expand Down
Expand Up @@ -46,6 +46,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Set;

import androidx.annotation.Nullable;
Expand Down Expand Up @@ -143,12 +144,12 @@ public static GameRequestContent buildGameRequestContent(ReadableMap gameRequest
String actionType = getValueOrNull(gameRequestContentMap, "actionType");
if (actionType != null) {
gameRequestContentBuilder.setActionType(
GameRequestContent.ActionType.valueOf(actionType.toUpperCase()));
GameRequestContent.ActionType.valueOf(actionType.toUpperCase(Locale.ROOT)));
}
String filters = getValueOrNull(gameRequestContentMap, "filters");
if (filters != null) {
gameRequestContentBuilder.setFilters(
GameRequestContent.Filters.valueOf(filters.toUpperCase()));
GameRequestContent.Filters.valueOf(filters.toUpperCase(Locale.ROOT)));
}
gameRequestContentBuilder.setMessage(gameRequestContentMap.getString("message"));
if (gameRequestContentMap.hasKey("recipients")) {
Expand Down

0 comments on commit 30d9dd3

Please sign in to comment.