package com.xxpatx.os.activity; import android.content.Intent; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import androidx.databinding.DataBindingUtil; import com.trello.rxlifecycle4.RxLifecycle; import com.trello.rxlifecycle4.android.ActivityEvent; import com.xxpatx.os.R; import com.xxpatx.os.base.BaseDataBindingActivity; import com.xxpatx.os.bean.BaseResponse; import com.xxpatx.os.bean.ExpressData; import com.xxpatx.os.bean.LogisticsTrace; import com.xxpatx.os.bean.LogisticsTraceDeta; import com.xxpatx.os.databinding.ActivityExpressBinding; import com.xxpatx.os.network.NetInterfaceManager; import com.xxpatx.os.utils.TimeUtils; import java.util.List; import io.reactivex.rxjava3.annotations.NonNull; import io.reactivex.rxjava3.core.Observer; import io.reactivex.rxjava3.disposables.Disposable; public class ExpressActivity extends BaseDataBindingActivity { private static final String TAG = "ExpressActivity"; private ActivityExpressBinding mBinding; @Override public boolean setNightMode() { return true; } @Override protected void initDataBinding() { mBinding = DataBindingUtil.setContentView(this, R.layout.activity_express); } /** * 初始化视图 */ @Override public void initView() { } /** * 初始化数据 */ @Override public void initData() { Intent intent = getIntent(); if (intent == null) { Log.e(TAG, "initData: intent is null"); return; } String orderSn = intent.getStringExtra("order_sn"); String orderId = intent.getStringExtra("order_id"); if (TextUtils.isEmpty(orderSn) || TextUtils.isEmpty(orderId)) { Log.e(TAG, "initData: orderSn is empty or orderId is empty"); return; } getOrderExpress(orderSn, orderId); } private void getOrderExpress(String orderSn, String orderId) { NetInterfaceManager.getInstance() .getOrderExpressObservable(orderSn, orderId) .compose(RxLifecycle.bindUntilEvent(getLifecycleSubject(), ActivityEvent.DESTROY)) .subscribe(new Observer>() { @Override public void onSubscribe(@NonNull Disposable d) { Log.e("getOrderExpress", "onSubscribe: "); } @Override public void onNext(@NonNull BaseResponse expressDataBaseResponse) { Log.e("getOrderExpress", "onNext: " + expressDataBaseResponse); if (expressDataBaseResponse.code == 200) { ExpressData expressData = expressDataBaseResponse.data; if (expressData.isSuccess()) { LogisticsTrace logisticsTrace = expressData.getLogisticsTrace(); mBinding.tvExpressNo.setText(logisticsTrace.getMailNo()); List logisticsTraceDetaList = logisticsTrace.getLogisticsTraceDetailList(); for (LogisticsTraceDeta logisticsTraceDeta : logisticsTraceDetaList) { View view = LayoutInflater.from(ExpressActivity.this).inflate(R.layout.item_timeline, mBinding.timelineLayout, false); ((TextView) view.findViewById(R.id.tv_action)).setText(logisticsTraceDeta.getDesc()); ((TextView) view.findViewById(R.id.tv_action_time)).setText(TimeUtils.transferLongToDate(logisticsTraceDeta.getTime())); ((TextView) view.findViewById(R.id.tv_action_status)).setText(logisticsTraceDeta.getAreaName()); mBinding.timelineLayout.addView(view); } mBinding.timelineLayout.setVisibility(View.VISIBLE); mBinding.clNodata.setVisibility(View.GONE); } else { mBinding.timelineLayout.setVisibility(View.GONE); mBinding.clNodata.setVisibility(View.VISIBLE); } } else { mBinding.timelineLayout.setVisibility(View.GONE); mBinding.clNodata.setVisibility(View.VISIBLE); } } @Override public void onError(@NonNull Throwable e) { Log.e("getOrderExpress", "onError: " + e.getMessage()); } @Override public void onComplete() { Log.e("getOrderExpress", "onComplete: "); } }); } }