@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
|
|
273
|
+
synchronized (mStatusListenerMap) {
|
|
274
|
+
mStatusListenerMap.put(object, listener);
|
|
275
|
+
}
|
|
274
276
|
}
|
|
275
277
|
|
|
276
278
|
void removeListener(final Object object) {
|
|
277
|
-
mStatusListenerMap
|
|
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
|
|
331
|
+
synchronized (mActivityList) {
|
|
332
|
+
mActivityList.remove(activity);
|
|
333
|
+
}
|
|
328
334
|
}
|
|
329
335
|
|
|
330
336
|
private void postStatus(final boolean isForeground) {
|
|
331
|
-
|
|
332
|
-
|
|
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
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
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
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
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
|
-
}
|
|
358
|
-
|
|
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
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
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
|