opt
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
package com.mogo.service.statusmanager;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-04
|
||||
* <p>
|
||||
* 状态控制器监听
|
||||
*/
|
||||
public interface IMogoStickyStatusChangedListener extends IMogoStatusChangedListener {
|
||||
|
||||
/**
|
||||
* 是否需要黏性状态: 先改变状态,后注册监听
|
||||
*
|
||||
* @param descriptor 状态
|
||||
* @return 默认不需要
|
||||
*/
|
||||
boolean requestStickyStatus( StatusDescriptor descriptor );
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
import com.mogo.service.statusmanager.IMogoStickyStatusChangedListener;
|
||||
import com.mogo.service.statusmanager.StatusDescriptor;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
@@ -236,7 +237,7 @@ public class MogoStatusManager implements IMogoStatusManager {
|
||||
}
|
||||
mListeners.get( descriptor ).add( listener );
|
||||
|
||||
if ( listener.requestStickyStatus( descriptor ) ) {
|
||||
if ( listener instanceof IMogoStickyStatusChangedListener && listener.requestStickyStatus( descriptor ) ) {
|
||||
Boolean val = mStatus.get( descriptor );
|
||||
if ( val != null ) {
|
||||
listener.onStatusChanged( descriptor, get_bool_val( descriptor ) );
|
||||
|
||||
Reference in New Issue
Block a user