118 lines
4.2 KiB
Java
118 lines
4.2 KiB
Java
package com.uiuios.aios.activity;
|
|
|
|
import android.app.Activity;
|
|
import android.content.Intent;
|
|
import android.util.Log;
|
|
import android.view.View;
|
|
|
|
import androidx.databinding.DataBindingUtil;
|
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
|
|
import com.tencent.mmkv.MMKV;
|
|
import com.uiuios.aios.R;
|
|
import com.uiuios.aios.adapter.AddressAdapter;
|
|
import com.uiuios.aios.base.BaseDataBindingActivity;
|
|
import com.uiuios.aios.bean.AddressInfo;
|
|
import com.uiuios.aios.bean.BaseResponse;
|
|
import com.uiuios.aios.config.CommonConfig;
|
|
import com.uiuios.aios.databinding.ActivityAddressBinding;
|
|
import com.uiuios.aios.gson.GsonUtils;
|
|
import com.uiuios.aios.network.NetInterfaceManager;
|
|
|
|
import java.util.List;
|
|
|
|
import io.reactivex.rxjava3.annotations.NonNull;
|
|
import io.reactivex.rxjava3.core.Observer;
|
|
import io.reactivex.rxjava3.disposables.Disposable;
|
|
|
|
public class AddressActivity extends BaseDataBindingActivity {
|
|
|
|
private ActivityAddressBinding mBinding;
|
|
private AddressAdapter mAddressAdapter;
|
|
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
|
|
|
@Override
|
|
public boolean setNightMode() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
protected void initDataBinding() {
|
|
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_address);
|
|
}
|
|
|
|
/**
|
|
* 初始化视图
|
|
*/
|
|
@Override
|
|
public void initView() {
|
|
mBinding.setListener(new Listener());
|
|
|
|
mAddressAdapter = new AddressAdapter();
|
|
mAddressAdapter.setClickListener(new AddressAdapter.ClickListener() {
|
|
@Override
|
|
public void onClickListener(AddressInfo addressInfo) {
|
|
if (addressInfo != null) {
|
|
Intent intent = new Intent();
|
|
intent.putExtra("AddressInfo", addressInfo);
|
|
setResult(Activity.RESULT_OK, intent);
|
|
finish();
|
|
}
|
|
}
|
|
});
|
|
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
|
|
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
|
|
mBinding.recyclerView.setLayoutManager(linearLayoutManager);
|
|
mBinding.recyclerView.setAdapter(mAddressAdapter);
|
|
}
|
|
|
|
/**
|
|
* 初始化数据
|
|
*/
|
|
@Override
|
|
public void initData() {
|
|
NetInterfaceManager.getInstance().getAddressIndexObservable()
|
|
.subscribe(new Observer<BaseResponse<List<AddressInfo>>>() {
|
|
@Override
|
|
public void onSubscribe(@NonNull Disposable d) {
|
|
Log.e("getAddressIndexObservable", "onSubscribe: ");
|
|
}
|
|
|
|
@Override
|
|
public void onNext(@NonNull BaseResponse<List<AddressInfo>> listBaseResponse) {
|
|
Log.e("getAddressIndexObservable", "onNext: " + listBaseResponse);
|
|
if (listBaseResponse.code == 200) {
|
|
List<AddressInfo> addressInfos = listBaseResponse.data;
|
|
if (addressInfos != null && addressInfos.size() != 0) {
|
|
AddressInfo defaultAddressInfo = addressInfos.get(0);
|
|
mMMKV.encode(CommonConfig.MAP_DEFAULT_ADDRESS_ID_KEY, defaultAddressInfo.getId());
|
|
mMMKV.encode(CommonConfig.MAP_DEFAULT_ADDRESS_JSON_KEY, GsonUtils.toJSONString(defaultAddressInfo));
|
|
mAddressAdapter.setAddressInfoList(addressInfos);
|
|
} else {
|
|
mAddressAdapter.setAddressInfoList(null);
|
|
}
|
|
} else {
|
|
mAddressAdapter.setAddressInfoList(null);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onError(@NonNull Throwable e) {
|
|
Log.e("getAddressIndexObservable", "onError: ");
|
|
}
|
|
|
|
@Override
|
|
public void onComplete() {
|
|
Log.e("getAddressIndexObservable", "onComplete: ");
|
|
}
|
|
});
|
|
}
|
|
|
|
public class Listener {
|
|
public void back(View view) {
|
|
finish();
|
|
}
|
|
}
|
|
|
|
}
|