Skip to content

Commit

Permalink
move ViewManager addition out of FlatUIImplementation
Browse files Browse the repository at this point in the history
Reviewed By: achen1

Differential Revision: D4467400

fbshipit-source-id: 3027c1d4a2ccc691d474c0c06e61b47475e6bff7
  • Loading branch information
aaronechiu authored and facebook-github-bot committed Jan 28, 2017
1 parent 5c7009d commit 9615d3b
Show file tree
Hide file tree
Showing 14 changed files with 81 additions and 51 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.views.art.ARTSurfaceView;

/* protected */ class FlatARTSurfaceViewManager extends
public class FlatARTSurfaceViewManager extends
BaseViewManager<ARTSurfaceView, FlatARTSurfaceViewShadowNode> {

private static final String REACT_CLASS = "ARTSurfaceView";
Expand Down
11 changes: 11 additions & 0 deletions ReactAndroid/src/main/java/com/facebook/react/flat/FlatUI.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Copyright 2004-present Facebook. All Rights Reserved.

package com.facebook.react.flat;

/**
* Holds global flag for enabling nodes.
*/
public class FlatUI {

public static boolean sEnabled;
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

import javax.annotation.Nullable;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

Expand Down Expand Up @@ -52,18 +51,6 @@ public static FlatUIImplementation createInstance(

TypefaceCache.setAssetManager(reactContext.getAssets());

viewManagers = new ArrayList<>(viewManagers);
viewManagers.add(new RCTViewManager());
viewManagers.add(new RCTTextManager());
viewManagers.add(new RCTRawTextManager());
viewManagers.add(new RCTVirtualTextManager());
viewManagers.add(new RCTTextInlineImageManager());
viewManagers.add(new RCTImageViewManager());
viewManagers.add(new RCTTextInputManager());
viewManagers.add(new RCTViewPagerManager());
viewManagers.add(new FlatARTSurfaceViewManager());
viewManagers.add(new RCTModalHostManager());

ViewManagerRegistry viewManagerRegistry = new ViewManagerRegistry(viewManagers);
FlatNativeViewHierarchyManager nativeViewHierarchyManager = new FlatNativeViewHierarchyManager(
viewManagerRegistry);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

package com.facebook.react.flat;

/* package */ final class RCTImageViewManager extends FlatViewManager {
public final class RCTImageViewManager extends FlatViewManager {

@Override
public String getName() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import com.facebook.react.uimanager.LayoutShadowNode;
import com.facebook.react.views.modal.ReactModalHostManager;

/* package */ class RCTModalHostManager extends ReactModalHostManager {
public class RCTModalHostManager extends ReactModalHostManager {

@Override
public LayoutShadowNode createShadowNodeInstance() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
/**
* ViewManager that creates instances of RCTRawText.
*/
/* package */ final class RCTRawTextManager extends VirtualViewManager<RCTRawText> {
public final class RCTRawTextManager extends VirtualViewManager<RCTRawText> {

@Override
public String getName() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
/**
* ViewManager that creates instances of RCTTextInlineImage.
*/
/* package */ final class RCTTextInlineImageManager extends VirtualViewManager<RCTTextInlineImage> {
public final class RCTTextInlineImageManager extends VirtualViewManager<RCTTextInlineImage> {

@Override
public String getName() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

import com.facebook.react.views.textinput.ReactTextInputManager;

/* package */ class RCTTextInputManager extends ReactTextInputManager {
public class RCTTextInputManager extends ReactTextInputManager {

@Override
public RCTTextInput createShadowNodeInstance() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
/**
* ViewManager that creates instances of RCTText.
*/
/* package */ final class RCTTextManager extends FlatViewManager {
public final class RCTTextManager extends FlatViewManager {

@Override
public String getName() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
/**
* ViewManager that creates instances of RCTView.
*/
/* package */ final class RCTViewManager extends FlatViewManager {
public final class RCTViewManager extends FlatViewManager {

private static final int[] TMP_INT_ARRAY = new int[2];

Expand All @@ -39,7 +39,7 @@

@Override
public String getName() {
return "RCTView";
return ViewProps.VIEW_CLASS_NAME;
}

public Map<String, Integer> getCommandsMap() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import com.facebook.react.views.viewpager.ReactViewPager;
import com.facebook.react.views.viewpager.ReactViewPagerManager;

/* package */ class RCTViewPagerManager extends ReactViewPagerManager {
public class RCTViewPagerManager extends ReactViewPagerManager {

@Override
public void addViews(ReactViewPager parent, List<View> views) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
/**
* ViewManager that creates instances of RCTVirtualText.
*/
/* package */ final class RCTVirtualTextManager extends VirtualViewManager<RCTVirtualText> {
public final class RCTVirtualTextManager extends VirtualViewManager<RCTVirtualText> {

@Override
public String getName() {
Expand Down
2 changes: 1 addition & 1 deletion ReactAndroid/src/main/java/com/facebook/react/shell/BUCK
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ android_library(
react_native_target('java/com/facebook/react/bridge:bridge'),
react_native_target('java/com/facebook/react/common:common'),
react_native_target('java/com/facebook/react/devsupport:devsupport'),
react_native_target('java/com/facebook/react/flat:flat'),
react_native_target('java/com/facebook/react/module/model:model'),
react_native_target('java/com/facebook/react/modules/appstate:appstate'),
react_native_target('java/com/facebook/react/modules/camera:camera'),
Expand Down Expand Up @@ -62,4 +63,3 @@ android_library(
'PUBLIC',
],
)

Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,30 @@

import javax.inject.Provider;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import android.content.SharedPreferences;
import android.preference.PreferenceManager;

import com.facebook.react.LazyReactPackage;
import com.facebook.react.animated.NativeAnimatedModule;
import com.facebook.react.bridge.JavaScriptModule;
import com.facebook.react.bridge.ModuleSpec;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.flat.FlatARTSurfaceViewManager;
import com.facebook.react.flat.RCTImageViewManager;
import com.facebook.react.flat.RCTModalHostManager;
import com.facebook.react.flat.RCTRawTextManager;
import com.facebook.react.flat.RCTTextInlineImageManager;
import com.facebook.react.flat.RCTTextInputManager;
import com.facebook.react.flat.RCTTextManager;
import com.facebook.react.flat.RCTViewManager;
import com.facebook.react.flat.RCTViewPagerManager;
import com.facebook.react.flat.RCTVirtualTextManager;
import com.facebook.react.module.model.ReactModuleInfoProvider;
import com.facebook.react.modules.appstate.AppStateModule;
import com.facebook.react.modules.camera.CameraRollManager;
Expand Down Expand Up @@ -236,32 +250,50 @@ public List<Class<? extends JavaScriptModule>> createJSModules() {

@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Arrays.<ViewManager>asList(
ARTRenderableViewManager.createARTGroupViewManager(),
ARTRenderableViewManager.createARTShapeViewManager(),
ARTRenderableViewManager.createARTTextViewManager(),
new ARTSurfaceViewManager(),
new ReactDialogPickerManager(),
new ReactDrawerLayoutManager(),
new ReactDropdownPickerManager(),
new ReactHorizontalScrollViewManager(),
new ReactImageManager(),
new ReactModalHostManager(),
new ReactProgressBarViewManager(),
new ReactRawTextManager(),
new ReactScrollViewManager(),
new ReactSliderManager(),
new ReactSwitchManager(),
new FrescoBasedReactTextInlineImageViewManager(),
new ReactTextInputManager(),
new ReactTextViewManager(),
new ReactToolbarManager(),
new ReactViewManager(),
new ReactViewPagerManager(),
new ReactVirtualTextViewManager(),
new ReactWebViewManager(),
new RecyclerViewBackedScrollViewManager(),
new SwipeRefreshLayoutManager());
List<ViewManager> viewManagers = new ArrayList<>();

viewManagers.add(ARTRenderableViewManager.createARTGroupViewManager());
viewManagers.add(ARTRenderableViewManager.createARTShapeViewManager());
viewManagers.add(ARTRenderableViewManager.createARTTextViewManager());
viewManagers.add(new ARTSurfaceViewManager());
viewManagers.add(new ReactDialogPickerManager());
viewManagers.add(new ReactDrawerLayoutManager());
viewManagers.add(new ReactDropdownPickerManager());
viewManagers.add(new ReactHorizontalScrollViewManager());
viewManagers.add(new ReactImageManager());
viewManagers.add(new ReactModalHostManager());
viewManagers.add(new ReactProgressBarViewManager());
viewManagers.add(new ReactRawTextManager());
viewManagers.add(new ReactScrollViewManager());
viewManagers.add(new ReactSliderManager());
viewManagers.add(new ReactSwitchManager());
viewManagers.add(new FrescoBasedReactTextInlineImageViewManager());
viewManagers.add(new ReactTextInputManager());
viewManagers.add(new ReactTextViewManager());
viewManagers.add(new ReactToolbarManager());
viewManagers.add(new ReactViewManager());
viewManagers.add(new ReactViewPagerManager());
viewManagers.add(new ReactVirtualTextViewManager());
viewManagers.add(new ReactWebViewManager());
viewManagers.add(new RecyclerViewBackedScrollViewManager());
viewManagers.add(new SwipeRefreshLayoutManager());

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(reactContext);
if (preferences.getBoolean("flat_uiimplementation", false)) {
viewManagers.addAll(Arrays.asList(
new RCTViewManager(),
new RCTTextManager(),
new RCTRawTextManager(),
new RCTVirtualTextManager(),
new RCTTextInlineImageManager(),
new RCTImageViewManager(),
new RCTTextInputManager(),
new RCTViewPagerManager(),
new FlatARTSurfaceViewManager(),
new RCTModalHostManager()));
}

return viewManagers;
}

@Override
Expand Down

0 comments on commit 9615d3b

Please sign in to comment.