122 lines
4.9 KiB
Java
122 lines
4.9 KiB
Java
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<BaseResponse<ExpressData>>() {
|
|
@Override
|
|
public void onSubscribe(@NonNull Disposable d) {
|
|
Log.e("getOrderExpress", "onSubscribe: ");
|
|
}
|
|
|
|
@Override
|
|
public void onNext(@NonNull BaseResponse<ExpressData> 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<LogisticsTraceDeta> 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: ");
|
|
}
|
|
});
|
|
}
|
|
}
|