Files
yinmeng-android/app/src/main/java/com/mango/moshen/application/ActivityStackManager.java
2022-09-15 22:51:46 +08:00

56 lines
1.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.mango.moshen.application;
import android.app.Activity;
import com.mango.moshen.avroom.activity.AVRoomActivity;
import com.mango.moshen.utils.ActWhiteListMrg;
import java.lang.ref.WeakReference;
import lombok.Getter;
/**
* create by lvzebiao @2019/8/8
*/
public class ActivityStackManager {
/**
* 用于保持最顶的Activity实例排除中转的activity
* 比如{@link com.mango.moshen.MiddleActivity}
*/
@Getter
private WeakReference<Activity> topUpgradeWeakRef;
@Getter
private WeakReference<Activity> avRoomActWeakRef;
public void setTopUpgradeActivity(Activity activity) {
if (!ActWhiteListMrg.isTempActivity(activity)) {
topUpgradeWeakRef = new WeakReference<>(activity);
}
}
public void addActivity(Activity activity){
if (activity instanceof AVRoomActivity) {
avRoomActWeakRef = new WeakReference<>(activity);
}
}
public void removeActivity(Activity activity){
if (activity instanceof AVRoomActivity) {
avRoomActWeakRef = null;
}
}
private static final class Helper {
public static final ActivityStackManager INSTANCE = new ActivityStackManager();
}
public static ActivityStackManager getInstance() {
return Helper.INSTANCE;
}
}