version:4.9
fix: update:更新下单流程,增加备注,增加桌面图标
This commit is contained in:
108
app/src/main/java/com/uiuios/aios/activity/AddressActivity.java
Normal file
108
app/src/main/java/com/uiuios/aios/activity/AddressActivity.java
Normal file
@@ -0,0 +1,108 @@
|
||||
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 void initView() {
|
||||
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_address);
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -105,23 +105,23 @@ public class EmergencyActivity extends AppCompatActivity {
|
||||
.subscribe(new Observer<BaseResponse>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Log.e("SOSRecordApi", "onSubscribe: ");
|
||||
Log.e("SosRecordApi", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull BaseResponse baseResponse) {
|
||||
Log.e("SOSRecordApi", "onNext: " + baseResponse);
|
||||
Log.e("SosRecordApi", "onNext: " + baseResponse);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Log.e("SOSRecordApi", "onError: " + e.getMessage());
|
||||
Log.e("SosRecordApi", "onError: " + e.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Log.e("SOSRecordApi", "onComplete: ");
|
||||
Log.e("SosRecordApi", "onComplete: ");
|
||||
}
|
||||
});
|
||||
needDial = true;
|
||||
|
||||
@@ -1,31 +1,44 @@
|
||||
package com.uiuios.aios.activity;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.activity.result.ActivityResult;
|
||||
import androidx.activity.result.ActivityResultCallback;
|
||||
import androidx.activity.result.ActivityResultLauncher;
|
||||
import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.trello.rxlifecycle4.RxLifecycle;
|
||||
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||
import com.uiuios.aios.BuildConfig;
|
||||
import com.uiuios.aios.R;
|
||||
import com.uiuios.aios.base.BaseDataBindingActivity;
|
||||
import com.uiuios.aios.bean.AddressInfo;
|
||||
import com.uiuios.aios.bean.BaseResponse;
|
||||
import com.uiuios.aios.bean.GoodsInfo;
|
||||
import com.uiuios.aios.bean.OrderBean;
|
||||
import com.uiuios.aios.config.CommonConfig;
|
||||
import com.uiuios.aios.databinding.ActivityOrderBinding;
|
||||
import com.uiuios.aios.gson.GsonUtils;
|
||||
import com.uiuios.aios.manager.RemoteManager;
|
||||
import com.uiuios.aios.network.NetInterfaceManager;
|
||||
import com.uiuios.aios.utils.ToastUtil;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import io.reactivex.rxjava3.annotations.NonNull;
|
||||
@@ -42,12 +55,47 @@ public class OrderActivity extends BaseDataBindingActivity {
|
||||
private int mStock;
|
||||
private int mNumer = 1;
|
||||
|
||||
private int mAddressId = 0;
|
||||
private AddressInfo mAddressInfo;
|
||||
|
||||
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||
|
||||
ActivityResultLauncher<Intent> launcher;
|
||||
|
||||
/**
|
||||
* 初始化视图
|
||||
*/
|
||||
@Override
|
||||
public void initView() {
|
||||
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_order);
|
||||
launcher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
|
||||
@Override
|
||||
public void onActivityResult(ActivityResult result) {
|
||||
//此处是跳转的result回调方法
|
||||
Log.e(TAG, "onActivityResult");
|
||||
if (result.getData() != null && result.getResultCode() == Activity.RESULT_OK) {
|
||||
// 数据在此处理
|
||||
AddressInfo addressInfo = (AddressInfo) result.getData().getSerializableExtra("AddressInfo");
|
||||
Log.e("initView", "onActivityResult: addressInfo = " + addressInfo);
|
||||
if (addressInfo != null) {
|
||||
mAddressInfo = addressInfo;
|
||||
mBinding.setAddressInfo(mAddressInfo);
|
||||
mAddressId = addressInfo.getId();
|
||||
Log.e(TAG, "onActivityResult: mAddressId = " + mAddressId);
|
||||
mMMKV.encode(CommonConfig.MAP_DEFAULT_ADDRESS_ID_KEY, mAddressId);
|
||||
mMMKV.encode(CommonConfig.MAP_DEFAULT_ADDRESS_JSON_KEY, GsonUtils.toJSONString(mAddressInfo));
|
||||
} else {
|
||||
Log.e("initView", "onActivityResult: addressInfo is null");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
mBinding.clAddress.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
launcher.launch(new Intent(OrderActivity.this, AddressActivity.class));
|
||||
}
|
||||
});
|
||||
mBinding.ivReduce.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@@ -121,6 +169,20 @@ public class OrderActivity extends BaseDataBindingActivity {
|
||||
if (intent == null) return;
|
||||
GoodsInfo goodsInfo = (GoodsInfo) intent.getSerializableExtra("GoodsInfo");
|
||||
if (goodsInfo == null) return;
|
||||
|
||||
mAddressId = mMMKV.decodeInt(CommonConfig.MAP_DEFAULT_ADDRESS_ID_KEY, -1);
|
||||
Log.e(TAG, "initData: mAddressId = " + mAddressId);
|
||||
String addressJson = mMMKV.decodeString(CommonConfig.MAP_DEFAULT_ADDRESS_JSON_KEY, "");
|
||||
Gson gson = new Gson();
|
||||
Type type = new TypeToken<AddressInfo>() {
|
||||
}.getType();
|
||||
mAddressInfo = gson.fromJson(addressJson, type);
|
||||
if (mAddressInfo != null) {
|
||||
mBinding.setAddressInfo(mAddressInfo);
|
||||
String area = mAddressInfo.getArea();
|
||||
List<String> areaList = new ArrayList<>(Arrays.asList(area.split(",")));
|
||||
mBinding.tvAddress.setText(String.join(" ", areaList) + " " + mAddressInfo.getAddress());
|
||||
}
|
||||
mGoodsInfo = goodsInfo;
|
||||
mBinding.setGoodsInfo(mGoodsInfo);
|
||||
mBinding.tvPrice.setText("券后¥" + mGoodsInfo.getBuying_price());
|
||||
@@ -141,7 +203,11 @@ public class OrderActivity extends BaseDataBindingActivity {
|
||||
params.put("goods_id", NetInterfaceManager.convertToRequestBody(mGoodsInfo.getId()));
|
||||
params.put("num", NetInterfaceManager.convertToRequestBody(mBinding.editText.getText().toString()));
|
||||
params.put("sn", NetInterfaceManager.convertToRequestBody(RemoteManager.getInstance().getSerial()));
|
||||
if (!TextUtils.isEmpty(mBinding.etRemark.getText())) {
|
||||
params.put("remark", NetInterfaceManager.convertToRequestBody(mBinding.etRemark.getText().toString()));
|
||||
}
|
||||
params.put("desktop_app_package", NetInterfaceManager.convertToRequestBody(BuildConfig.APPLICATION_ID));
|
||||
params.put("address_id", NetInterfaceManager.convertToRequestBody(mAddressId));
|
||||
NetInterfaceManager.getInstance().getGoodsBuyObservable(params)
|
||||
.compose(RxLifecycle.bindUntilEvent(lifecycleSubject, ActivityEvent.DESTROY))
|
||||
.subscribe(new Observer<BaseResponse<OrderBean>>() {
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.ServiceConnection;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ShortcutManager;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Color;
|
||||
import android.os.Build;
|
||||
@@ -161,6 +162,8 @@ public abstract class BaseMainActivity extends BaseActivity implements MainConta
|
||||
|
||||
// 隐藏导航栏
|
||||
hideNavigationBar();
|
||||
ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
|
||||
Log.e(TAG, "isRequestPinShortcutSupported: " + shortcutManager.isRequestPinShortcutSupported());
|
||||
}
|
||||
|
||||
private View.OnSystemUiVisibilityChangeListener mOnSystemUiVisibilityChangeListener =
|
||||
|
||||
Reference in New Issue
Block a user