package com.xg.navigation;

import android.os.Build;

import java.lang.ref.WeakReference;

public class CurrentActivityManager {
    private WeakReference<NavigationActivity> mActivity;
    private static class LazyHolder {
        private static final CurrentActivityManager INSTANCE = new CurrentActivityManager();
    }

    private CurrentActivityManager(){}

    public static CurrentActivityManager getInstance(){
        return LazyHolder.INSTANCE;
    }

    public synchronized void setActivity(WeakReference<NavigationActivity> activity){
        mActivity = activity;
    }

    public synchronized NavigationActivity getActivity(){
        return null == mActivity ? null : mActivity.get();
    }

    public boolean isActivityDestroyed() {
        return null == mActivity || null == mActivity.get()
                || mActivity.get().isFinishing()
                || (Build.VERSION.SDK_INT >= 17 && mActivity.get().isDestroyed());

    }
}
