Skip to content

Commit

Permalink
Libraries/DevToolsSettings -> private/reactdevtools/ReactDevToolsSett…
Browse files Browse the repository at this point in the history
…ings (facebook#46662)

Summary:
Pull Request resolved: facebook#46662

# Changelog: [Internal]

This should not have been a public API in the first place.

1. Moving this to `src/private`.
2. Removed some unused APIs, such as profiling settings.

Reviewed By: huntie

Differential Revision: D62965492
  • Loading branch information
hoxyq authored and facebook-github-bot committed Sep 27, 2024
1 parent f9fa296 commit bec4c8c
Show file tree
Hide file tree
Showing 15 changed files with 112 additions and 212 deletions.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4548,24 +4548,6 @@ declare export default typeof useSubscribeToDebuggingOverlayRegistry;
"
`;

exports[`public API should not change unintentionally Libraries/DevToolsSettings/DevToolsSettingsManager.js.flow 1`] = `
"declare const DevToolsSettingsManager: {
setConsolePatchSettings(newConsolePatchSettings: string): void,
getConsolePatchSettings(): ?string,
setProfilingSettings(newProfilingSettings: string): void,
getProfilingSettings(): ?string,
reload(): void,
};
declare module.exports: DevToolsSettingsManager;
"
`;

exports[`public API should not change unintentionally Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js 1`] = `
"export * from \\"../../src/private/specs/modules/NativeDevToolsSettingsManager\\";
declare export default typeof NativeDevToolsSettingsManager;
"
`;

exports[`public API should not change unintentionally Libraries/EventEmitter/NativeEventEmitter.js 1`] = `
"interface NativeModule {
addListener(eventType: string): void;
Expand Down
14 changes: 6 additions & 8 deletions packages/react-native/ReactAndroid/api/ReactAndroid.api
Original file line number Diff line number Diff line change
Expand Up @@ -3405,14 +3405,6 @@ public final class com/facebook/react/modules/devloading/DevLoadingModule : com/
public final class com/facebook/react/modules/devloading/DevLoadingModule$Companion {
}

public final class com/facebook/react/modules/devtoolssettings/DevToolsSettingsManagerModule : com/facebook/fbreact/specs/NativeDevToolsSettingsManagerSpec {
public fun <init> (Lcom/facebook/react/bridge/ReactApplicationContext;)V
public fun getConsolePatchSettings ()Ljava/lang/String;
public fun getProfilingSettings ()Ljava/lang/String;
public fun setConsolePatchSettings (Ljava/lang/String;)V
public fun setProfilingSettings (Ljava/lang/String;)V
}

public class com/facebook/react/modules/dialog/AlertFragment : androidx/fragment/app/DialogFragment, android/content/DialogInterface$OnClickListener {
public fun <init> ()V
public fun <init> (Lcom/facebook/react/modules/dialog/DialogModule$AlertFragmentListener;Landroid/os/Bundle;)V
Expand Down Expand Up @@ -3670,6 +3662,12 @@ public final class com/facebook/react/modules/permissions/PermissionsModule : co
public fun shouldShowRequestPermissionRationale (Ljava/lang/String;Lcom/facebook/react/bridge/Promise;)V
}

public final class com/facebook/react/modules/reactdevtoolssettings/ReactDevToolsSettingsManagerModule : com/facebook/fbreact/specs/NativeReactDevToolsSettingsManagerSpec {
public fun <init> (Lcom/facebook/react/bridge/ReactApplicationContext;)V
public fun getGlobalHookSettings ()Ljava/lang/String;
public fun setGlobalHookSettings (Ljava/lang/String;)V
}

public final class com/facebook/react/modules/share/ShareModule : com/facebook/fbreact/specs/NativeShareModuleSpec {
public static final field Companion Lcom/facebook/react/modules/share/ShareModule$Companion;
public static final field ERROR_INVALID_CONTENT Ljava/lang/String;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

package com.facebook.react.modules.reactdevtoolssettings

import android.content.Context
import android.content.SharedPreferences
import com.facebook.fbreact.specs.NativeReactDevToolsSettingsManagerSpec
import com.facebook.react.bridge.ReactApplicationContext
import com.facebook.react.module.annotations.ReactModule

@ReactModule(name = NativeReactDevToolsSettingsManagerSpec.NAME)
public class ReactDevToolsSettingsManagerModule(reactContext: ReactApplicationContext) :
NativeReactDevToolsSettingsManagerSpec(reactContext) {

private val sharedPreferences: SharedPreferences =
reactContext.getSharedPreferences(SHARED_PREFERENCES_PREFIX, Context.MODE_PRIVATE)

public override fun setGlobalHookSettings(settings: String): Unit =
sharedPreferences.edit().putString(KEY_HOOK_SETTINGS, settings).apply()

public override fun getGlobalHookSettings(): String? =
sharedPreferences.getString(KEY_HOOK_SETTINGS, null)

private companion object {
private const val SHARED_PREFERENCES_PREFIX = "ReactNative__DevToolsSettings"
private const val KEY_HOOK_SETTINGS = "HookSettings"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@
import com.facebook.react.modules.camera.ImageStoreManager;
import com.facebook.react.modules.clipboard.ClipboardModule;
import com.facebook.react.modules.devloading.DevLoadingModule;
import com.facebook.react.modules.devtoolssettings.DevToolsSettingsManagerModule;
import com.facebook.react.modules.dialog.DialogModule;
import com.facebook.react.modules.fresco.FrescoModule;
import com.facebook.react.modules.i18nmanager.I18nManagerModule;
import com.facebook.react.modules.image.ImageLoaderModule;
import com.facebook.react.modules.intent.IntentModule;
import com.facebook.react.modules.network.NetworkingModule;
import com.facebook.react.modules.permissions.PermissionsModule;
import com.facebook.react.modules.reactdevtoolssettings.ReactDevToolsSettingsManagerModule;
import com.facebook.react.modules.share.ShareModule;
import com.facebook.react.modules.sound.SoundManagerModule;
import com.facebook.react.modules.statusbar.StatusBarModule;
Expand Down Expand Up @@ -153,8 +153,8 @@ public MainReactPackage(MainPackageConfig config) {
return new VibrationModule(context);
case WebSocketModule.NAME:
return new WebSocketModule(context);
case DevToolsSettingsManagerModule.NAME:
return new DevToolsSettingsManagerModule(context);
case ReactDevToolsSettingsManagerModule.NAME:
return new ReactDevToolsSettingsManagerModule(context);
default:
return null;
}
Expand Down Expand Up @@ -300,7 +300,7 @@ private ReactModuleInfoProvider fallbackForMissingClass() {
NativeAnimatedModule.class,
NetworkingModule.class,
PermissionsModule.class,
DevToolsSettingsManagerModule.class,
ReactDevToolsSettingsManagerModule.class,
ShareModule.class,
StatusBarModule.class,
SoundManagerModule.class,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict-local
* @format
*/

import NativeReactDevToolsSettingsManager from '../specs/modules/NativeReactDevToolsSettingsManager';

module.exports = {
setGlobalHookSettings(settings: string) {
NativeReactDevToolsSettingsManager?.setGlobalHookSettings(settings);
},
getGlobalHookSettings(): ?string {
return NativeReactDevToolsSettingsManager?.getGlobalHookSettings();
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict-local
* @format
*/

import Settings from '../../../Libraries/Settings/Settings';

const GLOBAL_HOOK_SETTINGS = 'ReactDevTools::HookSettings';

const ReactDevToolsSettingsManager = {
setGlobalHookSettings(settings: string): void {
Settings.set({
[GLOBAL_HOOK_SETTINGS]: settings,
});
},
getGlobalHookSettings(): ?string {
const value = Settings.get(GLOBAL_HOOK_SETTINGS);
if (typeof value === 'string') {
return value;
}
return null;
},
};

module.exports = ReactDevToolsSettingsManager;
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict-local
* @format
*/

declare const ReactDevToolsSettingsManager: {
setGlobalHookSettings(settings: string): void,
getGlobalHookSettings(): ?string,
};

module.exports = ReactDevToolsSettingsManager;
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,10 @@ import type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';
import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';

export interface Spec extends TurboModule {
+setConsolePatchSettings: (newConsolePatchSettings: string) => void;
+getConsolePatchSettings: () => ?string;
+setProfilingSettings?: (newProfilingSettings: string) => void;
+getProfilingSettings?: () => ?string;
+setGlobalHookSettings: (settings: string) => void;
+getGlobalHookSettings: () => ?string;
}

export default (TurboModuleRegistry.get<Spec>(
'DevToolsSettingsManager',
'ReactDevToolsSettingsManager',
): ?Spec);
1 change: 0 additions & 1 deletion packages/react-native/types/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,6 @@ export * from '../Libraries/Components/View/ViewAccessibility';
export * from '../Libraries/Components/View/ViewPropTypes';
export * from '../Libraries/Components/Button';
export * from '../Libraries/Core/registerCallableModule';
export * from '../Libraries/DevToolsSettings/DevToolsSettingsManager';
export * from '../Libraries/EventEmitter/NativeEventEmitter';
export * from '../Libraries/EventEmitter/RCTDeviceEventEmitter';
export * from '../Libraries/EventEmitter/RCTNativeAppEventEmitter';
Expand Down

0 comments on commit bec4c8c

Please sign in to comment.