@onekeyfe/react-native-lite-card 1.1.17 → 1.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -270,11 +270,15 @@ public final class Utils {
270
270
  private int mConfigCount = 0;
271
271
 
272
272
  void addListener(final Object object, final OnAppStatusChangedListener listener) {
273
- mStatusListenerMap.put(object, listener);
273
+ synchronized (mStatusListenerMap) {
274
+ mStatusListenerMap.put(object, listener);
275
+ }
274
276
  }
275
277
 
276
278
  void removeListener(final Object object) {
277
- mStatusListenerMap.remove(object);
279
+ synchronized (mStatusListenerMap) {
280
+ mStatusListenerMap.remove(object);
281
+ }
278
282
  }
279
283
 
280
284
  @Override
@@ -324,22 +328,26 @@ public final class Utils {
324
328
 
325
329
  @Override
326
330
  public void onActivityDestroyed(Activity activity) {
327
- mActivityList.remove(activity);
331
+ synchronized (mActivityList) {
332
+ mActivityList.remove(activity);
333
+ }
328
334
  }
329
335
 
330
336
  private void postStatus(final boolean isForeground) {
331
- if (mStatusListenerMap.isEmpty()) {
332
- return;
333
- }
334
- for (OnAppStatusChangedListener onAppStatusChangedListener :
335
- mStatusListenerMap.values()) {
336
- if (onAppStatusChangedListener == null) {
337
+ synchronized (mStatusListenerMap) {
338
+ if (mStatusListenerMap.isEmpty()) {
337
339
  return;
338
340
  }
339
- if (isForeground) {
340
- onAppStatusChangedListener.onForeground();
341
- } else {
342
- onAppStatusChangedListener.onBackground();
341
+ for (OnAppStatusChangedListener onAppStatusChangedListener :
342
+ mStatusListenerMap.values()) {
343
+ if (onAppStatusChangedListener == null) {
344
+ return;
345
+ }
346
+ if (isForeground) {
347
+ onAppStatusChangedListener.onForeground();
348
+ } else {
349
+ onAppStatusChangedListener.onBackground();
350
+ }
343
351
  }
344
352
  }
345
353
  }
@@ -348,23 +356,30 @@ public final class Utils {
348
356
  if (activity == null || mActivityList == null) {
349
357
  return;
350
358
  }
351
- if (mActivityList.contains(activity)) {
352
- Activity lastActivity = mActivityList.getLast();
353
- if (lastActivity != null && !lastActivity.equals(activity)) {
354
- mActivityList.remove(activity);
355
- mActivityList.addLast(activity);
359
+ try {
360
+ synchronized (mActivityList) {
361
+ if (mActivityList.contains(activity)) {
362
+ if (!mActivityList.isEmpty() && !activity.equals(mActivityList.getLast())) {
363
+ mActivityList.remove(activity);
364
+ mActivityList.addLast(activity);
365
+ }
366
+ } else {
367
+ mActivityList.addLast(activity);
368
+ }
356
369
  }
357
- } else {
358
- mActivityList.addLast(activity);
370
+ } catch (Exception e) {
371
+ android.util.Log.w("OneKey", "setTopActivity error: " + e.getMessage());
359
372
  }
360
373
  }
361
374
 
362
375
  @Nullable
363
376
  Activity getTopActivity() {
364
- if (!mActivityList.isEmpty()) {
365
- final Activity topActivity = mActivityList.getLast();
366
- if (topActivity != null) {
367
- return topActivity;
377
+ synchronized (mActivityList) {
378
+ if (!mActivityList.isEmpty()) {
379
+ final Activity topActivity = mActivityList.getLast();
380
+ if (topActivity != null) {
381
+ return topActivity;
382
+ }
368
383
  }
369
384
  }
370
385
  // using reflect to get top activity
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/react-native-lite-card",
3
- "version": "1.1.17",
3
+ "version": "1.1.19",
4
4
  "description": "lite card",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",