Fix crash when resolveView fails to find a view
Reviewed By: yungsters Differential Revision: D3997107 fbshipit-source-id: 7bf03ff06a6b56d192bab7fa567a11a38148f076
This commit is contained in:
parent
a3551b081a
commit
8e91843cc7
|
@ -10,6 +10,7 @@
|
||||||
package com.facebook.react.uimanager;
|
package com.facebook.react.uimanager;
|
||||||
|
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
import android.util.Log;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.util.SparseBooleanArray;
|
import android.util.SparseBooleanArray;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
|
@ -64,6 +65,8 @@ import javax.annotation.concurrent.NotThreadSafe;
|
||||||
@NotThreadSafe
|
@NotThreadSafe
|
||||||
public class NativeViewHierarchyManager {
|
public class NativeViewHierarchyManager {
|
||||||
|
|
||||||
|
private static final String TAG = NativeViewHierarchyManager.class.getSimpleName();
|
||||||
|
|
||||||
private final AnimationRegistry mAnimationRegistry;
|
private final AnimationRegistry mAnimationRegistry;
|
||||||
private final SparseArray<View> mTagsToViews;
|
private final SparseArray<View> mTagsToViews;
|
||||||
private final SparseArray<ViewManager> mTagsToViewManagers;
|
private final SparseArray<ViewManager> mTagsToViewManagers;
|
||||||
|
@ -116,9 +119,13 @@ public class NativeViewHierarchyManager {
|
||||||
public void updateProperties(int tag, ReactStylesDiffMap props) {
|
public void updateProperties(int tag, ReactStylesDiffMap props) {
|
||||||
UiThreadUtil.assertOnUiThread();
|
UiThreadUtil.assertOnUiThread();
|
||||||
|
|
||||||
ViewManager viewManager = resolveViewManager(tag);
|
try {
|
||||||
View viewToUpdate = resolveView(tag);
|
ViewManager viewManager = resolveViewManager(tag);
|
||||||
viewManager.updateProperties(viewToUpdate, props);
|
View viewToUpdate = resolveView(tag);
|
||||||
|
viewManager.updateProperties(viewToUpdate, props);
|
||||||
|
} catch (IllegalViewOperationException e) {
|
||||||
|
Log.e(TAG, "Unable to update properties for view tag " + tag, e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateViewExtraData(int tag, Object extraData) {
|
public void updateViewExtraData(int tag, Object extraData) {
|
||||||
|
|
Loading…
Reference in New Issue