dev
This commit is contained in:
@@ -8,9 +8,19 @@ package com.mogo.module.extensions;
|
||||
*/
|
||||
public class ExtensionsModuleConst {
|
||||
|
||||
/**
|
||||
* 顶部UI
|
||||
*/
|
||||
public static final String PATH_EXTENSION = "/extension/ui";
|
||||
|
||||
/**
|
||||
* 快捷操作入口:定位、
|
||||
*/
|
||||
public static final String PATH_ENTRANCE = "/extension/entrance";
|
||||
|
||||
|
||||
public static final String TYPE = "extension";
|
||||
|
||||
public static final String TYPE_ENTRANCE = "entrance";
|
||||
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
|
||||
String temp = getContext().getResources().getString( R.string.module_ext_str_weather_temp_format, weatherInfo.getTemperature() );
|
||||
Phenomena phenomena = Phenomena.getById( weatherInfo.getPhenomena() );
|
||||
String desc = phenomena == null ? "" : phenomena.nameCn;
|
||||
int resId = 0;
|
||||
int resId = phenomena.resId;
|
||||
mView.renderWeatherInfo( temp, desc, resId );
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
package com.mogo.module.extensions.entrance;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.commons.mvp.Presenter;
|
||||
import com.mogo.map.MogoLatLng;
|
||||
import com.mogo.map.location.IMogoLocationClient;
|
||||
import com.mogo.map.location.MogoLocation;
|
||||
import com.mogo.map.navi.IMogoNavi;
|
||||
import com.mogo.map.navi.IMogoNaviListener;
|
||||
import com.mogo.map.navi.MogoNaviInfo;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.module.extensions.R;
|
||||
import com.mogo.module.extensions.navi.NaviInfoView;
|
||||
import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.service.map.IMogoMapService;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-07
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresenter > implements EntranceView, IMogoNaviListener {
|
||||
|
||||
|
||||
private View mSearch;
|
||||
|
||||
private View mCommonAddress;
|
||||
private View mHome;
|
||||
private View mCompany;
|
||||
|
||||
private View mUploadRoadCondition;
|
||||
|
||||
private View mVRMode;
|
||||
private View mMove2CurrentLocation;
|
||||
|
||||
private NaviInfoView mNaviInfo;
|
||||
private View mExitNavi;
|
||||
|
||||
private IMogoMapService mService;
|
||||
private IMogoMapUIController mMApUIController;
|
||||
private IMogoLocationClient mMogoLocationClient;
|
||||
private IMogoNavi mMogoNavi;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.module_ext_layout_entrance;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initViews() {
|
||||
mCommonAddress = findViewById( R.id.module_map_id_common_address );
|
||||
|
||||
mSearch = findViewById( R.id.module_map_id_search );
|
||||
mSearch.setOnClickListener( view -> {
|
||||
} );
|
||||
|
||||
mHome = findViewById( R.id.module_map_id_home );
|
||||
mHome.setOnClickListener( view -> {
|
||||
} );
|
||||
|
||||
mCompany = findViewById( R.id.module_map_id_company );
|
||||
mCompany.setOnClickListener( view -> {
|
||||
} );
|
||||
|
||||
mUploadRoadCondition = findViewById( R.id.module_map_id_upload_road_condition );
|
||||
mUploadRoadCondition.setOnClickListener( view -> {
|
||||
} );
|
||||
|
||||
mVRMode = findViewById( R.id.module_map_id_vr_mode );
|
||||
mVRMode.setOnClickListener( view -> {
|
||||
} );
|
||||
|
||||
mMove2CurrentLocation = findViewById( R.id.module_map_id_move2_current_location );
|
||||
mMove2CurrentLocation.setOnClickListener( view -> {
|
||||
final MogoLocation location = mMogoLocationClient.getLastKnowLocation();
|
||||
if ( location != null ) {
|
||||
mMApUIController.moveToCenter( new MogoLatLng( location.getLatitude(), location.getLongitude() ) );
|
||||
}
|
||||
} );
|
||||
|
||||
mNaviInfo = findViewById( R.id.module_map_id_navi_info_panel );
|
||||
mExitNavi = findViewById( R.id.module_map_id_exit_navi );
|
||||
mExitNavi.setOnClickListener( view -> {
|
||||
if ( mMogoNavi != null ) {
|
||||
mMogoNavi.stopNavi();
|
||||
}
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
protected EntrancePresenter createPresenter() {
|
||||
return new EntrancePresenter( this );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated( @Nullable Bundle savedInstanceState ) {
|
||||
super.onActivityCreated( savedInstanceState );
|
||||
mService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation( getContext() );
|
||||
mMApUIController = mService.getMapUIController();
|
||||
mMogoLocationClient = mService.getLocationClient( getContext() );
|
||||
mMogoNavi = mService.getNavi( getContext() );
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onInitNaviFailure() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitNaviSuccess() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) {
|
||||
if ( naviinfo == null ) {
|
||||
return;
|
||||
}
|
||||
mNaviInfo.notifyChanged( naviinfo );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartNavi() {
|
||||
mCommonAddress.setVisibility( View.GONE );
|
||||
mNaviInfo.setVisibility( View.VISIBLE );
|
||||
mExitNavi.setVisibility( View.VISIBLE );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStopNavi() {
|
||||
mCommonAddress.setVisibility( View.VISIBLE );
|
||||
mNaviInfo.setVisibility( View.GONE );
|
||||
mExitNavi.setVisibility( View.GONE );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.mogo.module.extensions.entrance;
|
||||
|
||||
import com.mogo.commons.mvp.Presenter;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-07
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public class EntrancePresenter extends Presenter<EntranceView> {
|
||||
|
||||
public EntrancePresenter( EntranceView view ) {
|
||||
super( view );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.mogo.module.extensions.entrance;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.mogo.map.listener.IMogoMapListener;
|
||||
import com.mogo.map.location.IMogoLocationListener;
|
||||
import com.mogo.map.navi.IMogoNaviListener;
|
||||
import com.mogo.module.extensions.ExtensionsModuleConst;
|
||||
import com.mogo.service.module.IMogoModuleLifecycle;
|
||||
import com.mogo.service.module.IMogoModuleProvider;
|
||||
import com.mogo.service.module.ModuleType;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-07
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
@Route( path = ExtensionsModuleConst.PATH_ENTRANCE )
|
||||
public class EntranceProvider implements IMogoModuleProvider {
|
||||
|
||||
@Override
|
||||
public Fragment createFragment( Context context, Bundle data ) {
|
||||
EntranceFragment fragment = new EntranceFragment();
|
||||
fragment.setArguments( data );
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View createView( Context context ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String getModuleName() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoModuleLifecycle getCardLifecycle() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoMapListener getMapListener() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getType() {
|
||||
return ModuleType.TYPE_ENTRANCE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoNaviListener getNaviListener() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMogoLocationListener getLocationListener() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init( Context context ) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.mogo.module.extensions.entrance;
|
||||
|
||||
import com.mogo.commons.mvp.IView;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-07
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public interface EntranceView extends IView {
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
package com.mogo.module.extensions.navi;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.mogo.map.impl.amap.utils.IconTypeUtils;
|
||||
import com.mogo.map.navi.MogoNaviInfo;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-10-03
|
||||
* <p>
|
||||
* 描述
|
||||
*/
|
||||
public abstract class BaseNaviInfoView extends RelativeLayout {
|
||||
|
||||
public BaseNaviInfoView( Context context ) {
|
||||
this( context, null );
|
||||
}
|
||||
|
||||
public BaseNaviInfoView( Context context, @Nullable AttributeSet attrs ) {
|
||||
this( context, attrs, 0 );
|
||||
}
|
||||
|
||||
public BaseNaviInfoView( Context context, @Nullable AttributeSet attrs, int defStyleAttr ) {
|
||||
super( context, attrs, defStyleAttr );
|
||||
}
|
||||
|
||||
public void notifyChanged( MogoNaviInfo naviInfo ) {
|
||||
|
||||
}
|
||||
|
||||
protected void fillNextCrossTurning( TextView target, int nextIconType ) {
|
||||
target.setText( "后" + IconTypeUtils.getNameByIconType( nextIconType ) );
|
||||
}
|
||||
|
||||
protected void fillNextCrossIconType( ImageView target, int iconId ) {
|
||||
if ( iconId > 0 ) {
|
||||
target.setImageResource( iconId );
|
||||
}
|
||||
}
|
||||
|
||||
protected void fillNextCrossDistance( TextView target, TextView unit, int distance ) {
|
||||
if ( distance >= 1000 ) {
|
||||
target.setText( String.format( "%.1f", distance / 1000f ) );
|
||||
unit.setText( "公里" );
|
||||
} else {
|
||||
target.setText( distance + "" );
|
||||
unit.setText( "米" );
|
||||
}
|
||||
}
|
||||
|
||||
protected void fillFormatSurplusDistance( int m, StringBuilder builder ) {
|
||||
if ( m >= 1000 ) {
|
||||
builder.append( String.format( "%.1f公里", m / 1000f ) );
|
||||
} else {
|
||||
builder.append( m ).append( "米" );
|
||||
}
|
||||
}
|
||||
|
||||
protected void fillFormatTime( int seconds, StringBuilder builder ) {
|
||||
int days = seconds / ( 24 * 60 * 60 );
|
||||
if ( days > 0 ) {
|
||||
builder.append( days ).append( "天" );
|
||||
}
|
||||
seconds -= days * 24 * 60 * 60;
|
||||
int hours = seconds / ( 60 * 60 );
|
||||
if ( hours > 0 ) {
|
||||
builder.append( hours ).append( "小时" );
|
||||
}
|
||||
seconds -= hours * 60 * 60;
|
||||
int min = seconds / 60;
|
||||
builder.append( min > 1 ? min : 1 ).append( "分钟" );
|
||||
}
|
||||
|
||||
protected void fillArriveTime( int seconds, StringBuilder builder ) {
|
||||
|
||||
int days = seconds / ( 24 * 60 * 60 );
|
||||
if ( days > 0 ) {
|
||||
builder.append( days ).append( "天后" );
|
||||
} else {
|
||||
seconds -= days * 24 * 60 * 60;
|
||||
int hours = seconds / ( 60 * 60 );
|
||||
seconds -= hours * 60 * 60;
|
||||
int min = seconds / 60;
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
int curHour = calendar.get( Calendar.HOUR_OF_DAY );
|
||||
int curMin = calendar.get( Calendar.MINUTE );
|
||||
if ( curHour + hours + ( curMin + min ) / 60 > 24 ) {
|
||||
builder.append( "一天后" );
|
||||
} else {
|
||||
calendar.add( Calendar.HOUR_OF_DAY, hours );
|
||||
calendar.add( Calendar.MINUTE, min );
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat( "HH:mm" );
|
||||
builder.append( dateFormat.format( calendar.getTime() ) );
|
||||
}
|
||||
}
|
||||
builder.append( "到达" );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
package com.mogo.module.extensions.navi;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.mogo.map.navi.MogoNaviInfo;
|
||||
import com.mogo.module.extensions.R;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2019-09-29
|
||||
* <p>
|
||||
* 导航信息
|
||||
*/
|
||||
public class NaviInfoView extends BaseNaviInfoView {
|
||||
|
||||
private ImageView turnIcon;
|
||||
private TextView distance;
|
||||
private TextView distanceUnit;
|
||||
private TextView nextRoad;
|
||||
private TextView estimateInfo;
|
||||
|
||||
private StringBuilder mBuilder = new StringBuilder();
|
||||
|
||||
public NaviInfoView( Context context ) {
|
||||
this( context, null );
|
||||
}
|
||||
|
||||
public NaviInfoView( Context context, @Nullable AttributeSet attrs ) {
|
||||
this( context, attrs, 0 );
|
||||
}
|
||||
|
||||
public NaviInfoView( Context context, @Nullable AttributeSet attrs, int defStyleAttr ) {
|
||||
super( context, attrs, defStyleAttr );
|
||||
View.inflate( context, R.layout.module_map_layout_navi_info_panel, this );
|
||||
turnIcon = findViewById( R.id.module_map_id_navi_next_info_road_turn_icon );
|
||||
distance = findViewById( R.id.module_map_id_navi_next_info_distance );
|
||||
distanceUnit = findViewById( R.id.module_map_id_navi_next_info_distance_unit );
|
||||
nextRoad = findViewById( R.id.module_map_id_navi_next_info_road );
|
||||
estimateInfo = findViewById( R.id.module_map_id_navi_arrive_destination_estimate_info );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyChanged( MogoNaviInfo naviInfo ) {
|
||||
super.notifyChanged( naviInfo );
|
||||
if ( naviInfo == null ) {
|
||||
return;
|
||||
}
|
||||
fillNextCrossDistance( distance, distanceUnit, naviInfo.getCurStepRetainDistance() );
|
||||
fillNextCrossIconType( turnIcon, naviInfo.getIconResId() );
|
||||
nextRoad.setText( naviInfo.getNextRoadName() );
|
||||
|
||||
try {
|
||||
mBuilder.delete( 0, mBuilder.length() );
|
||||
} catch ( Exception e ) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
mBuilder.append( "剩余" );
|
||||
fillFormatSurplusDistance( naviInfo.getPathRetainDistance(), mBuilder );
|
||||
mBuilder.append( " " );
|
||||
fillFormatTime( naviInfo.getPathRetainTime(), mBuilder );
|
||||
mBuilder.append( "\n" );
|
||||
fillArriveTime( naviInfo.getPathRetainTime(), mBuilder );
|
||||
|
||||
final String text = mBuilder.toString();
|
||||
estimateInfo.setText( text );
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当行信息
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getGuideInfo() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
if ( getVisibility() == VISIBLE ) {
|
||||
builder.append( distance.getText() );
|
||||
builder.append( nextRoad.getText() );
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取剩余里程
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getPathRetainDistance() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
if ( getVisibility() == VISIBLE ) {
|
||||
builder.append( estimateInfo.getText() );
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,8 @@ package com.mogo.module.extensions.weather;
|
||||
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.mogo.module.extensions.R;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -9,68 +11,70 @@ import java.util.Map;
|
||||
* @author Lzq
|
||||
*/
|
||||
public enum Phenomena {
|
||||
Sunny( "00", "晴", "Sunny" ),
|
||||
Cloudy( "01", "多云", "Cloudy" ),
|
||||
Overcast( "02", "阴", "Overcast" ),
|
||||
Sunny( "00", "晴", "Sunny", R.drawable.ic_sunny ),
|
||||
Cloudy( "01", "多云", "Cloudy", R.drawable.ic_cloudy ),
|
||||
Overcast( "02", "阴", "Overcast", R.drawable.ic_overcast ),
|
||||
|
||||
Shower( "03", "阵雨", "Shower" ),
|
||||
Thundershower( "04", "雷阵雨", "Thundershower" ),
|
||||
ThundershowerWithHail( "05", "雷阵雨伴有冰雹", "Thundershower with hail" ),
|
||||
Sleet( "06", "雨夹雪", "Sleet" ),
|
||||
LightRain( "07", "小雨", "Light rain" ),
|
||||
ModerateRain( "08", "中雨", "Moderate rain" ),
|
||||
HeavyRain( "09", "大雨", "Heavy rain" ),
|
||||
Storm( "10", "暴雨", "Storm" ),
|
||||
HeavyStorm( "11", "大暴雨", "Heavy storm" ),
|
||||
SevereStorm( "12", "特大暴雨", "Severe storm" ),
|
||||
Shower( "03", "阵雨", "Shower", R.drawable.ic_shower ),
|
||||
Thundershower( "04", "雷阵雨", "Thundershower", R.drawable.ic_thundershower ),
|
||||
ThundershowerWithHail( "05", "雷阵雨伴有冰雹", "Thundershower with hail", R.drawable.ic_thundershower ),
|
||||
Sleet( "06", "雨夹雪", "Sleet", R.drawable.ic_snow ),
|
||||
LightRain( "07", "小雨", "Light rain", R.drawable.ic_light_rain ),
|
||||
ModerateRain( "08", "中雨", "Moderate rain", R.drawable.ic_light_rain ),
|
||||
HeavyRain( "09", "大雨", "Heavy rain", R.drawable.ic_heavy_rain ),
|
||||
Storm( "10", "暴雨", "Storm", R.drawable.ic_heavy_rain ),
|
||||
HeavyStorm( "11", "大暴雨", "Heavy storm", R.drawable.ic_heavy_rain ),
|
||||
SevereStorm( "12", "特大暴雨", "Severe storm", R.drawable.ic_severe_storm ),
|
||||
|
||||
SnowFlurry( "13", "阵雪", "Snow flurry" ),
|
||||
LightSnow( "14", "小雪", "Light snow" ),
|
||||
ModerateSnow( "15", "中雪", "Moderate snow" ),
|
||||
HeavySnow( "16", "大雪", "Heavy snow" ),
|
||||
Snowstorm( "17", "暴雪", "Snowstorm" ),
|
||||
SnowFlurry( "13", "阵雪", "Snow flurry", R.drawable.ic_snow ),
|
||||
LightSnow( "14", "小雪", "Light snow", R.drawable.ic_snow ),
|
||||
ModerateSnow( "15", "中雪", "Moderate snow", R.drawable.ic_snow ),
|
||||
HeavySnow( "16", "大雪", "Heavy snow", R.drawable.ic_snow ),
|
||||
Snowstorm( "17", "暴雪", "Snowstorm", R.drawable.ic_snow ),
|
||||
|
||||
Foggy( "18", "雾", "Foggy" ),
|
||||
IceRain( "19", "冻雨", "Ice rain" ),
|
||||
Duststorm( "20", "沙尘暴", "Duststorm" ),
|
||||
Foggy( "18", "雾", "Foggy", R.drawable.ic_fog ),
|
||||
IceRain( "19", "冻雨", "Ice rain", R.drawable.ic_heavy_rain ),
|
||||
Duststorm( "20", "沙尘暴", "Duststorm", R.drawable.ic_duststorm ),
|
||||
|
||||
LightToModerateRain( "21", "小到中雨", "Light to moderate rain" ),
|
||||
ModerateToHeavyRain( "22", "中到大雨", "Moderate to heavy rain" ),
|
||||
HeavyRainToStorm( "23", "大到大雨", "Heavy rain to storm" ),
|
||||
StormToHeavyStorm( "24", "暴雨到大暴雨", "Storm to heavy storm" ),
|
||||
HeavyToSevereStorm( "25", "大暴雨到特大暴雨", "Heavy to severe storm" ),
|
||||
LightToModerateRain( "21", "小到中雨", "Light to moderate rain", R.drawable.ic_moderate_rain ),
|
||||
ModerateToHeavyRain( "22", "中到大雨", "Moderate to heavy rain", R.drawable.ic_heavy_rain ),
|
||||
HeavyRainToStorm( "23", "大到大雨", "Heavy rain to storm", R.drawable.ic_heavy_rain ),
|
||||
StormToHeavyStorm( "24", "暴雨到大暴雨", "Storm to heavy storm", R.drawable.ic_severe_storm ),
|
||||
HeavyToSevereStorm( "25", "大暴雨到特大暴雨", "Heavy to severe storm", R.drawable.ic_severe_storm ),
|
||||
|
||||
LightToModerateSnow( "26", "小到中雪", "Light to moderate snow" ),
|
||||
ModerateToHeavySnow( "27", "中到大雪", "Moderate to heavy snow" ),
|
||||
HeavySnowToSnowStorm( "28", "大到暴雪", "Heavy snow to snowstorm" ),
|
||||
LightToModerateSnow( "26", "小到中雪", "Light to moderate snow", R.drawable.ic_snow ),
|
||||
ModerateToHeavySnow( "27", "中到大雪", "Moderate to heavy snow", R.drawable.ic_snow ),
|
||||
HeavySnowToSnowStorm( "28", "大到暴雪", "Heavy snow to snowstorm", R.drawable.ic_snow ),
|
||||
|
||||
Dust( "29", "浮尘", "Dust" ),
|
||||
Sand( "30", "扬沙", "Sand" ),
|
||||
SandStorm( "31", "强沙尘暴", "Sandstorm" ),
|
||||
Dust( "29", "浮尘", "Dust", R.drawable.ic_dust_sand ),
|
||||
Sand( "30", "扬沙", "Sand", R.drawable.ic_dust_sand ),
|
||||
SandStorm( "31", "强沙尘暴", "Sandstorm", R.drawable.ic_duststorm ),
|
||||
|
||||
Densefog( "32", "浓雾", "Dense fog" ),
|
||||
StrongFog( "49", "强浓雾", "Strong fog" ),
|
||||
DenseFog( "57", "大雾", "Dense fog" ),
|
||||
ExtraHeavyFog( "58", "特强浓雾", "Extra heavy fog" ),
|
||||
Densefog( "32", "浓雾", "Dense fog", R.drawable.ic_fog ),
|
||||
StrongFog( "49", "强浓雾", "Strong fog", R.drawable.ic_fog ),
|
||||
DenseFog( "57", "大雾", "Dense fog", R.drawable.ic_fog ),
|
||||
ExtraHeavyFog( "58", "特强浓雾", "Extra heavy fog", R.drawable.ic_fog ),
|
||||
|
||||
Haze( "53", "霾", "Haze" ),
|
||||
ModerateHaze( "54", "中度霾", "Moderate haze" ),
|
||||
Severehaze( "55", "重度霾", "Severe haze" ),
|
||||
SevereHaze( "56", "严重霾", "Severe haze" ),
|
||||
Haze( "53", "霾", "Haze", R.drawable.ic_haze ),
|
||||
ModerateHaze( "54", "中度霾", "Moderate haze", R.drawable.ic_haze ),
|
||||
Severehaze( "55", "重度霾", "Severe haze", R.drawable.ic_haze ),
|
||||
SevereHaze( "56", "严重霾", "Severe haze", R.drawable.ic_haze ),
|
||||
|
||||
Unknown( "99", "无", "Unknown" ),
|
||||
Unknown( "99", "无", "Unknown", R.drawable.ic_unknown ),
|
||||
|
||||
Rain( "301", "雨", "rain" ),
|
||||
Snow( "302", "雪", "snow" );
|
||||
Rain( "301", "雨", "rain", R.drawable.ic_heavy_rain ),
|
||||
Snow( "302", "雪", "snow", R.drawable.ic_snow );
|
||||
|
||||
public final String id;
|
||||
public final String nameCn;
|
||||
public final String nameEn;
|
||||
public final int resId;
|
||||
|
||||
Phenomena( String id, String nameCn, String nameEn ) {
|
||||
Phenomena( String id, String nameCn, String nameEn, int resId ) {
|
||||
this.id = id;
|
||||
this.nameCn = nameCn;
|
||||
this.nameEn = nameEn;
|
||||
this.resId = resId;
|
||||
}
|
||||
|
||||
static Map< String, Phenomena > mPhenomenas;
|
||||
|
||||
Reference in New Issue
Block a user