Skip to content

Commit 267a20f

Browse files
fix: move all fragment work to UI thread (#356)
1 parent 1447e6b commit 267a20f

File tree

2 files changed

+16
-24
lines changed

2 files changed

+16
-24
lines changed

android/src/main/java/com/reactcommunity/rndatetimepicker/RNDatePickerDialogModule.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -127,22 +127,18 @@ public void open(@Nullable final ReadableMap options, final Promise promise) {
127127
}
128128

129129
final FragmentManager fragmentManager = activity.getSupportFragmentManager();
130-
final RNDatePickerDialogFragment oldFragment = (RNDatePickerDialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG);
131-
132-
if (oldFragment != null && options != null) {
133-
UiThreadUtil.runOnUiThread(new Runnable() {
134-
@Override
135-
public void run() {
136-
oldFragment.update(createFragmentArguments(options));
137-
}
138-
});
139-
140-
return;
141-
}
142130

143131
UiThreadUtil.runOnUiThread(new Runnable() {
144132
@Override
145133
public void run() {
134+
RNDatePickerDialogFragment oldFragment =
135+
(RNDatePickerDialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG);
136+
137+
if (oldFragment != null && options != null) {
138+
oldFragment.update(createFragmentArguments(options));
139+
return;
140+
}
141+
146142
RNDatePickerDialogFragment fragment = new RNDatePickerDialogFragment();
147143

148144
if (options != null) {

android/src/main/java/com/reactcommunity/rndatetimepicker/RNTimePickerDialogModule.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -104,22 +104,18 @@ public void open(@Nullable final ReadableMap options, final Promise promise) {
104104
// We want to support both android.app.Activity and the pre-Honeycomb FragmentActivity
105105
// (for apps that use it for legacy reasons). This unfortunately leads to some code duplication.
106106
final FragmentManager fragmentManager = activity.getSupportFragmentManager();
107-
final RNTimePickerDialogFragment oldFragment = (RNTimePickerDialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG);
108-
109-
if (oldFragment != null && options != null) {
110-
UiThreadUtil.runOnUiThread(new Runnable() {
111-
@Override
112-
public void run() {
113-
oldFragment.update(createFragmentArguments(options));
114-
}
115-
});
116-
117-
return;
118-
}
119107

120108
UiThreadUtil.runOnUiThread(new Runnable() {
121109
@Override
122110
public void run() {
111+
RNTimePickerDialogFragment oldFragment =
112+
(RNTimePickerDialogFragment) fragmentManager.findFragmentByTag(FRAGMENT_TAG);
113+
114+
if (oldFragment != null && options != null) {
115+
oldFragment.update(createFragmentArguments(options));
116+
return;
117+
}
118+
123119
RNTimePickerDialogFragment fragment = new RNTimePickerDialogFragment();
124120

125121
if (options != null) {

0 commit comments

Comments
 (0)