opt
This commit is contained in:
@@ -102,4 +102,10 @@ public class ExtensionsFragment extends MvpFragment< ExtensionsView, ExtensionsP
|
||||
mWeatherDesc.setText( desc );
|
||||
mWeatherContainer.setVisibility( hidden ? View.GONE : View.VISIBLE );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderMsgInfo( boolean hasMsg, int amount ) {
|
||||
mMsgContainer.setVisibility( hasMsg ? View.VISIBLE : View.GONE );
|
||||
mMsgCounter.setText( amount > 99 ? getString( R.string.module_ext_str_dots ) : String.valueOf( amount ) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,11 +8,15 @@ import android.content.IntentFilter;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.commons.mvp.Presenter;
|
||||
import com.mogo.module.extensions.weather.Phenomena;
|
||||
import com.mogo.module.extensions.weather.WeatherCallback;
|
||||
import com.mogo.module.extensions.weather.WeatherInfo;
|
||||
import com.mogo.module.extensions.weather.WeatherModel;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.statusmanager.IMogoMsgCenter;
|
||||
import com.mogo.service.statusmanager.IMogoMsgCenterListener;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.util.Calendar;
|
||||
@@ -24,7 +28,7 @@ import java.util.Calendar;
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public class ExtensionsPresenter extends Presenter< ExtensionsView > implements WeatherCallback {
|
||||
public class ExtensionsPresenter extends Presenter< ExtensionsView > implements WeatherCallback, IMogoMsgCenterListener {
|
||||
|
||||
private static final String TAG = "ExtensionsPresenter";
|
||||
|
||||
@@ -46,6 +50,8 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
|
||||
}
|
||||
};
|
||||
|
||||
private IMogoMsgCenter mMsgCenter;
|
||||
|
||||
|
||||
public ExtensionsPresenter( ExtensionsView view ) {
|
||||
super( view );
|
||||
@@ -60,6 +66,8 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
|
||||
mWeatherModel.init( this );
|
||||
mWeatherModel.queryWeatherInformation();
|
||||
refreshTimeAndDate();
|
||||
mMsgCenter = ( IMogoMsgCenter ) ARouter.getInstance().build( MogoServicePaths.PATH_MSG_CENTER ).navigation();
|
||||
mMsgCenter.registerMsgCenterListener( this );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -100,12 +108,21 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
|
||||
mView.renderWeatherInfo( temp, desc, resId );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMsgChanged( boolean hasMsg, int amount ) {
|
||||
if ( mView != null ) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy( @NonNull LifecycleOwner owner ) {
|
||||
super.onDestroy( owner );
|
||||
if ( mWeatherModel != null ) {
|
||||
mWeatherModel.destroy();
|
||||
}
|
||||
|
||||
if ( mMsgCenter != null ) {
|
||||
mMsgCenter.unregisterMsgCenterListener( this );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,4 +27,12 @@ public interface ExtensionsView extends IView {
|
||||
* @param iconId 图标
|
||||
*/
|
||||
void renderWeatherInfo( String temp, String desc, int iconId );
|
||||
|
||||
/**
|
||||
* 刷新消息信息
|
||||
*
|
||||
* @param hasMsg 是否有消息
|
||||
* @param amount 消息数量
|
||||
*/
|
||||
void renderMsgInfo( boolean hasMsg, int amount );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user