mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
f168fc335e
Summary: public Rename the `ConnectivityModule` to `NetInfoModule` (there's no need to name things differently in two places). Add exception handling to the module in case the network permission is missing. When the permission is missing, throw an actionable error from all calls to `NetInfo`: http://imgur.com/zVIMxOV Without this change, the app immediately crashes on startup: `getCurrentConnectionType` is called from `Activity.onResume`. Reviewed By: andreicoman11, bestander Differential Revision: D2749230 fb-gh-sync-id: 1b752d21a8f28ffeaf60a3322cb76f869dc70a14
90 lines
3.5 KiB
Java
90 lines
3.5 KiB
Java
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
package com.facebook.react.shell;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
import com.facebook.react.ReactPackage;
|
|
import com.facebook.react.bridge.JavaScriptModule;
|
|
import com.facebook.react.bridge.NativeModule;
|
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
import com.facebook.react.modules.fresco.FrescoModule;
|
|
import com.facebook.react.modules.intent.IntentModule;
|
|
import com.facebook.react.modules.location.LocationModule;
|
|
import com.facebook.react.modules.netinfo.NetInfoModule;
|
|
import com.facebook.react.modules.network.NetworkingModule;
|
|
import com.facebook.react.modules.storage.AsyncStorageModule;
|
|
import com.facebook.react.modules.toast.ToastModule;
|
|
import com.facebook.react.modules.websocket.WebSocketModule;
|
|
import com.facebook.react.uimanager.ViewManager;
|
|
import com.facebook.react.views.drawer.ReactDrawerLayoutManager;
|
|
import com.facebook.react.views.image.ReactImageManager;
|
|
import com.facebook.react.views.progressbar.ReactProgressBarViewManager;
|
|
import com.facebook.react.views.scroll.ReactHorizontalScrollViewManager;
|
|
import com.facebook.react.views.scroll.ReactScrollViewManager;
|
|
import com.facebook.react.views.switchview.ReactSwitchManager;
|
|
import com.facebook.react.views.text.ReactRawTextManager;
|
|
import com.facebook.react.views.text.ReactTextViewManager;
|
|
import com.facebook.react.views.text.ReactTextInlineImageViewManager;
|
|
import com.facebook.react.views.text.ReactVirtualTextViewManager;
|
|
import com.facebook.react.views.textinput.ReactTextInputManager;
|
|
import com.facebook.react.views.toolbar.ReactToolbarManager;
|
|
import com.facebook.react.views.view.ReactViewManager;
|
|
import com.facebook.react.views.viewpager.ReactViewPagerManager;
|
|
import com.facebook.react.views.swiperefresh.SwipeRefreshLayoutManager;
|
|
import com.facebook.react.modules.clipboard.ClipboardModule;
|
|
|
|
/**
|
|
* Package defining basic modules and view managers.
|
|
*/
|
|
public class MainReactPackage implements ReactPackage {
|
|
|
|
@Override
|
|
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
|
return Arrays.<NativeModule>asList(
|
|
new AsyncStorageModule(reactContext),
|
|
new ClipboardModule(reactContext),
|
|
new FrescoModule(reactContext),
|
|
new IntentModule(reactContext),
|
|
new LocationModule(reactContext),
|
|
new NetworkingModule(reactContext),
|
|
new NetInfoModule(reactContext),
|
|
new WebSocketModule(reactContext),
|
|
new ToastModule(reactContext));
|
|
}
|
|
|
|
@Override
|
|
public List<Class<? extends JavaScriptModule>> createJSModules() {
|
|
return Collections.emptyList();
|
|
}
|
|
|
|
@Override
|
|
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
|
return Arrays.<ViewManager>asList(
|
|
new ReactDrawerLayoutManager(),
|
|
new ReactHorizontalScrollViewManager(),
|
|
new ReactImageManager(),
|
|
new ReactProgressBarViewManager(),
|
|
new ReactRawTextManager(),
|
|
new ReactScrollViewManager(),
|
|
new ReactSwitchManager(),
|
|
new ReactTextInputManager(),
|
|
new ReactTextViewManager(),
|
|
new ReactToolbarManager(),
|
|
new ReactViewManager(),
|
|
new ReactViewPagerManager(),
|
|
new ReactTextInlineImageViewManager(),
|
|
new ReactVirtualTextViewManager(),
|
|
new SwipeRefreshLayoutManager());
|
|
}
|
|
}
|