Files
XiaoxintongSystemOS/app/src/main/java/com/uiuios/aios/activity/AddressActivity.java
Fanhuitong 86cc291dc8 version:5.6
fix:
update:更新地图,优化databinding
2024-05-31 10:47:24 +08:00

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();
}
}
}