version:4.9

fix:
update:更新下单流程,增加备注,增加桌面图标
This commit is contained in:
2024-03-13 18:13:33 +08:00
parent 7cb6eecb3d
commit 5e9b850d6b
41 changed files with 945 additions and 124 deletions

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

View File

@@ -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;

View File

@@ -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>>() {

View File

@@ -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 =

View File

@@ -0,0 +1,94 @@
package com.uiuios.aios.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.RecyclerView;
import com.uiuios.aios.R;
import com.uiuios.aios.bean.AddressInfo;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class AddressAdapter extends RecyclerView.Adapter<AddressAdapter.AddressHolder> {
private Context mContext;
List<AddressInfo> mAddressInfoList;
public void setAddressInfoList(List<AddressInfo> addressInfoList) {
mAddressInfoList = addressInfoList;
notifyDataSetChanged();
}
public interface ClickListener {
void onClickListener(AddressInfo addressInfo);
}
private ClickListener mClickListener;
public void setClickListener(ClickListener clickListener) {
mClickListener = clickListener;
}
@NonNull
@Override
public AddressHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
mContext = parent.getContext();
return new AddressAdapter.AddressHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_address, parent, false));
}
@Override
public void onBindViewHolder(@NonNull AddressHolder holder, int position) {
AddressInfo addressInfo = mAddressInfoList.get(position);
holder.root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mClickListener != null) {
mClickListener.onClickListener(addressInfo);
}
}
});
holder.tv_name.setText(addressInfo.getFullname());
holder.tv_phone.setText(addressInfo.getTel());
String area = addressInfo.getArea();
List<String> areaList = new ArrayList<>(Arrays.asList(area.split(",")));
holder.tv_address.setText(String.join(" ", areaList) + " " + addressInfo.getAddress());
int isDefault = addressInfo.getIs_default();
if (isDefault == 1) {
holder.tv_default.setVisibility(View.VISIBLE);
} else {
holder.tv_default.setVisibility(View.GONE);
}
}
@Override
public int getItemCount() {
return mAddressInfoList == null ? 0 : mAddressInfoList.size();
}
class AddressHolder extends RecyclerView.ViewHolder {
ConstraintLayout root;
ImageView iv_avatar;
TextView tv_name, tv_phone, tv_default, tv_address;
public AddressHolder(@NonNull View itemView) {
super(itemView);
root = itemView.findViewById(R.id.root);
iv_avatar = itemView.findViewById(R.id.iv_avatar);
tv_name = itemView.findViewById(R.id.tv_name);
tv_phone = itemView.findViewById(R.id.tv_phone);
tv_default = itemView.findViewById(R.id.tv_default);
tv_address = itemView.findViewById(R.id.tv_address);
}
}
}

View File

@@ -60,7 +60,11 @@ public class BaseApplication extends Application {
AppStatusManager.init(this);
NetInterfaceManager.init(this);
JGYUtils.init(this);
startService(new Intent(this, MainService.class));
try {
startService(new Intent(this, MainService.class));
} catch (Exception e) {
Log.e(TAG, "onCreate: " + e.getMessage());
}
}
private void aliyunPushInit() {

View File

@@ -0,0 +1,97 @@
package com.uiuios.aios.bean;
import com.google.gson.Gson;
import com.google.gson.JsonParser;
import java.io.Serializable;
public class AddressInfo implements Serializable {
private static final long serialVersionUID = -4450893534418777122L;
int id;
String fullname;//姓名
String tel;
String province_id;
String city_id;
String county_id;
String address;//详细地址
int is_default;// 1 默认 2 非默认
String area;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFullname() {
return fullname;
}
public void setFullname(String fullname) {
this.fullname = fullname;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getProvince_id() {
return province_id;
}
public void setProvince_id(String province_id) {
this.province_id = province_id;
}
public String getCity_id() {
return city_id;
}
public void setCity_id(String city_id) {
this.city_id = city_id;
}
public String getCounty_id() {
return county_id;
}
public void setCounty_id(String county_id) {
this.county_id = county_id;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getIs_default() {
return is_default;
}
public void setIs_default(int is_default) {
this.is_default = is_default;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
@Override
public String toString() {
return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString();
}
}

View File

@@ -14,7 +14,7 @@ public class CommonConfig {
public static final String MAP_LOCATION_DESCRIBE_KEY = "map_locationDescribe_key";
public static final String MAP_ERROR_KEY = "map_error_key";
public static final String LOCK_SCREEN_PASSWORD ="aios_lockScreenPasswordKey";
public static final String LOCK_SCREEN_PASSWORD = "aios_lockScreenPasswordKey";
public static final String DEFAULT_PASSWORD = "6666";
/*是否激活接口请求缓存*/
@@ -37,4 +37,10 @@ public class CommonConfig {
/*手动选择位置 经纬度*/
public static final String MANUALLY_SELECT_LOCATION_TUDE = "map_manually_select_tude";
/*默认地址id*/
public static final String MAP_DEFAULT_ADDRESS_ID_KEY = "amap_default_address_id_key";
/*默认地址json*/
public static final String MAP_DEFAULT_ADDRESS_JSON_KEY = "amap_default_address_json_key";
}

View File

@@ -65,9 +65,17 @@ public class SecondPresenter implements SecondContact.Presenter {
@Override
public void onNext(@NonNull BaseResponse<GoodsList> listBaseResponse) {
Log.e("getGoods", "onNext: " + listBaseResponse);
GoodsList goodsList = listBaseResponse.data;
List<GoodsInfo> goodsInfos = goodsList.getData();
mView.setGoods(goodsInfos);
if (listBaseResponse.code == 200) {
GoodsList goodsList = listBaseResponse.data;
List<GoodsInfo> goodsInfos = goodsList.getData();
if (goodsInfos != null && goodsInfos.size() != 0) {
mView.setGoods(goodsInfos);
} else {
mView.setGoods(null);
}
} else {
mView.setGoods(null);
}
}
@Override
@@ -95,10 +103,18 @@ public class SecondPresenter implements SecondContact.Presenter {
@Override
public void onNext(@NonNull BaseResponse<ArticleList> listBaseResponse) {
Log.e("getArticle", "onNext: " + listBaseResponse);
ArticleList articleList = listBaseResponse.data;
List<ArticleInfo> articleInfoList = articleList.getData();
articleInfoList.sort((o1, o2) -> Integer.compare(o2.getWeight(), o1.getWeight()));
mView.setArticle(articleInfoList);
if (listBaseResponse.code == 200) {
ArticleList articleList = listBaseResponse.data;
List<ArticleInfo> articleInfoList = articleList.getData();
if (articleInfoList != null && articleInfoList.size() != 0) {
articleInfoList.sort((o1, o2) -> Integer.compare(o2.getWeight(), o1.getWeight()));
mView.setArticle(articleInfoList);
} else {
mView.setArticle(null);
}
} else {
mView.setArticle(null);
}
}
@Override

View File

@@ -15,6 +15,7 @@ import com.uiuios.aios.BuildConfig;
import com.uiuios.aios.alarm.AlarmClockData;
import com.uiuios.aios.alarm.AlarmUtils;
import com.uiuios.aios.bean.ActivityBean;
import com.uiuios.aios.bean.AddressInfo;
import com.uiuios.aios.bean.AlarmClockId;
import com.uiuios.aios.bean.ArticleList;
import com.uiuios.aios.bean.BaseResponse;
@@ -28,7 +29,6 @@ import com.uiuios.aios.bean.HealthCode;
import com.uiuios.aios.bean.MapGeoBean;
import com.uiuios.aios.bean.NetDesktopIcon;
import com.uiuios.aios.bean.OrderBean;
import com.uiuios.aios.bean.OrderIndexBean;
import com.uiuios.aios.bean.OrderIndexData;
import com.uiuios.aios.bean.RegionInfo;
import com.uiuios.aios.bean.SnInfo;
@@ -43,40 +43,41 @@ import com.uiuios.aios.manager.ConnectManager;
import com.uiuios.aios.manager.ConnectMode;
import com.uiuios.aios.manager.RemoteManager;
import com.uiuios.aios.network.api.ActivityListApi;
import com.uiuios.aios.network.api.AlarmClockAddApi;
import com.uiuios.aios.network.api.AlarmClockApi;
import com.uiuios.aios.network.api.AlarmClockDeleteApi;
import com.uiuios.aios.network.api.AlarmClockEditApi;
import com.uiuios.aios.network.api.AlarmClockQueryApi;
import com.uiuios.aios.network.api.AddressIndexApi;
import com.uiuios.aios.network.api.alarmclock.AlarmClockAddApi;
import com.uiuios.aios.network.api.alarmclock.AlarmClockApi;
import com.uiuios.aios.network.api.alarmclock.AlarmClockDeleteApi;
import com.uiuios.aios.network.api.alarmclock.AlarmClockEditApi;
import com.uiuios.aios.network.api.alarmclock.AlarmClockQueryApi;
import com.uiuios.aios.network.api.AppUsageRecordApi;
import com.uiuios.aios.network.api.ArticleCategorysListApi;
import com.uiuios.aios.network.api.ArticleListApi;
import com.uiuios.aios.network.api.CategorysApi;
import com.uiuios.aios.network.api.DemandListApi;
import com.uiuios.aios.network.api.GetAdminSnSettingApi;
import com.uiuios.aios.network.api.GetDesktopApi;
import com.uiuios.aios.network.api.desktop.GetDesktopApi;
import com.uiuios.aios.network.api.GetMailList;
import com.uiuios.aios.network.api.GetUserIDApi;
import com.uiuios.aios.network.api.GoodsBuyApi;
import com.uiuios.aios.network.api.pay.GoodsBuyApi;
import com.uiuios.aios.network.api.GoodsListApi;
import com.uiuios.aios.network.api.GoodsTypeApi;
import com.uiuios.aios.network.api.GoodsTypeListApi;
import com.uiuios.aios.network.api.HealthCodeApi;
import com.uiuios.aios.network.api.KnowledgeVideoListApi;
import com.uiuios.aios.network.api.LivenVideoListApi;
import com.uiuios.aios.network.api.liven.LivenVideoListApi;
import com.uiuios.aios.network.api.MailListAddApi;
import com.uiuios.aios.network.api.OrderPayApi;
import com.uiuios.aios.network.api.OrderPayCheckApi;
import com.uiuios.aios.network.api.pay.OrderPayApi;
import com.uiuios.aios.network.api.pay.OrderPayCheckApi;
import com.uiuios.aios.network.api.RegionListApi;
import com.uiuios.aios.network.api.RegionListCall;
import com.uiuios.aios.network.api.RunNewApp;
import com.uiuios.aios.network.api.SNInfoApi;
import com.uiuios.aios.network.api.SOSRecordApi;
import com.uiuios.aios.network.api.SendScreenshotApi;
import com.uiuios.aios.network.api.Setting;
import com.uiuios.aios.network.api.UpdateAlarmClockApi;
import com.uiuios.aios.network.api.app.RunNewApp;
import com.uiuios.aios.network.api.sn.SnInfoApi;
import com.uiuios.aios.network.api.sn.SosRecordApi;
import com.uiuios.aios.network.api.sn.SendScreenshotApi;
import com.uiuios.aios.network.api.sn.SettingApi;
import com.uiuios.aios.network.api.sn.UpdateAlarmClockApi;
import com.uiuios.aios.network.api.UpdateAppIconApi;
import com.uiuios.aios.network.api.UpdateDesktopApi;
import com.uiuios.aios.network.api.desktop.UpdateDesktopApi;
import com.uiuios.aios.network.api.UserInfoControl;
import com.uiuios.aios.network.api.amap.GeocodingApi;
import com.uiuios.aios.network.api.order.AllOrderApi;
@@ -257,8 +258,8 @@ public class NetInterfaceManager {
* @return
*/
public Observable<BaseResponse<SnInfo>> getsnInfoControl() {
return mRetrofit.create(SNInfoApi.class)
.getsninfo(RemoteManager.getInstance().getSerial())
return mRetrofit.create(SnInfoApi.class)
.getSninfo(RemoteManager.getInstance().getSerial())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
@@ -278,15 +279,15 @@ public class NetInterfaceManager {
}
public Observable<BaseResponse<SystemSettings>> getsettingControl() {
return mRetrofit.create(Setting.class)
return mRetrofit.create(SettingApi.class)
.getSetting(RemoteManager.getInstance().getSerial())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public Observable<BaseResponse> getSOSRecordObservable(String longitude, String latitude, String address) {
return mRetrofit.create(SOSRecordApi.class)
.sendSOSRecord(RemoteManager.getInstance().getSerial(), longitude, latitude, address)
return mRetrofit.create(SosRecordApi.class)
.sendSosRecord(RemoteManager.getInstance().getSerial(), longitude, latitude, address)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
@@ -494,6 +495,14 @@ public class NetInterfaceManager {
.observeOn(AndroidSchedulers.mainThread());
}
public Observable<BaseResponse<List<AddressInfo>>> getAddressIndexObservable() {
return mRetrofit.create(AddressIndexApi.class)
.getAddressList(RemoteManager.getInstance().getSerial())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
public RegionListApi getRegionListApi() {
return mRetrofit.create(RegionListApi.class);
}

View File

@@ -4,55 +4,49 @@ public class UrlAddress {
public static final String ROOT_URL = "https://led.zuoyepad.com/android/";
public static final String AMAP_ROOT_URL = "https://api.map.baidu.com/";
/*设备信息接口*/
public static final String SNINFO = "sn/getSnInfo";
/**
* 旧接口
* SN
*/
/*获取用户头像和信息*/
public static final String GET_USER_AVATAR_INFO = "sn/getUserAvatarInfo";
/*应用使用记录*/
public static final String APP_USAGE_RECORD = "appUsageRecord";
/*正在运行的应用*/
public static final String RUN_NEW_APP = "app/runNewApp";
/*上传截图*/
/**
* 新接口
* SN
*/
/*爱心提醒通知成功接口*/
public static final String UPDATE_ALARM_CLOCK = "updateAlarmClock";
/*上传截屏图片*/
public static final String SEND_SCREENSHOT = "sn/uploadScreenshot";
/*获取系统设置*/
/*获取系统设置其它管控*/
public final static String GET_SETTINGS = "control/getSetting";
/*sos记录*/
public static final String SOS_RECORD = "sosRecord";
/*爱心提醒通知成功*/
public static final String UPDATE_ALARM_CLOCK = "updateAlarmClock";
/*更新桌面布局*/
public static final String UPDATE_DESKTOP_LAYOUT = "updateDesktopLayout";
/*获取桌面布局*/
public static final String GET_DESKTOP_LAYOUT = "getDesktopLayout";
/*获取商品分类列表*/
public static final String GOODS_TYPE_LIST = "goods-type-list";
/*获取抢购列表*/
public static final String GET_GOODS_LIST = "getGoodsList";
/*获取抢购详情*/
public static final String GET_GOODS_DETAILS = "getGoodsDetails";
/*商品下单*/
public static final String GOODS_BUY = "goods/buy";
/*商品调起支付*/
public static final String ORDER_PAY = "pay/order-pay";
/*商品支付查询(低频轮询)*/
public static final String ORDER_PAY_CHECK = "pay/order-pay-check";
/*养生资讯分类*/
public static final String ARTICLE_CATEGORYS = "article/categorys";
/*获取资讯列表*/
public static final String GET_ARTICLE_LIST = "getArticleList";
/*获取资讯详情*/
public static final String GET_ARTICLE_DETAILS = "getArticleDetails";
/*同城活动列表*/
public static final String GET_ACTIVITY_LIST = "activityList";
/*同城需求列表*/
public static final String GET_DEMAND_LIST = "demandList";
/*获取健康吗*/
/*获取健康码*/
public static final String GET_HEALTH_CODE = "getHealthCode";
/*获取设备信息*/
public static final String SNINFO = "sn/getSnInfo";
/*获取用户编号*/
public static final String GET_USER_ID = "getUserId";
/*获取商品分类列表*/
public static final String GOODS_TYPE_LIST = "goods-type-list";
/*获取负二屏开关*/
public static final String GET_ADMIN_SN_SETTING = "getAdminSnSetting";
/*更新app隐藏或者显示状态*/
public static final String APP_ICON_UPDATE = "Control/appIconUpdate";
/*获取联系人*/
public static final String GET_MAIL_LIST = "Control/getMailList";
/*添加联系人*/
@@ -64,8 +58,41 @@ public class UrlAddress {
/*编号查询联系人*/
public static final String MAIL_LIST_BY_ID = "MailList/mailListById";
/*获取闹钟*/
public static final String GET_ALARM_CLOCK = "getAlarmClock";
/**
* 应用统计
*/
/*应用使用记录*/
public static final String APP_USAGE_RECORD = "appUsageRecord";
/**
* 应用
*/
/*正在运行的应用*/
public static final String RUN_NEW_APP = "app/runNewApp";
/**
* 桌面布局
*/
/*更新桌面布局*/
public static final String UPDATE_DESKTOP_LAYOUT = "updateDesktopLayout";
/*获取桌面布局*/
public static final String GET_DESKTOP_LAYOUT = "getDesktopLayout";
/**
* 同城活动
*/
/*同城活动列表*/
public static final String GET_ACTIVITY_LIST = "activityList";
/**
* 服务需求
*/
/*同城需求列表*/
public static final String GET_DEMAND_LIST = "demandList";
/**
* 闹钟
*/
/*添加闹钟*/
public static final String ALARM_CLOCK_ADD = "AlarmClock/alarmClockAdd";
/*编辑闹钟*/
@@ -74,9 +101,32 @@ public class UrlAddress {
public static final String ALARM_CLOCK_BY_ID = "AlarmClock/alarmClockById";
/*删除闹钟*/
public static final String ALARM_CLOCK_DELETE = "AlarmClock/alarmClockDelete";
/*获取闹钟*/
public static final String GET_ALARM_CLOCK = "getAlarmClock";
public static final String GET_USER_ID = "getUserId";
/**
* 养生视频分类
*/
/*养生视频列表*/
public static final String GET_LIVEN_VIDEO_LIST = "livenVideo/getLivenVideoList";
/*知识视频列表*/
public static final String GET_KNOWLEDGE_VIDEO_LIST = "knowledgeVideo/getKnowledgeVideoList";
/*养生资讯分类*/
public static final String ARTICLE_CATEGORYS = "article/categorys";
/**
* 商品购买
*/
/*商品下单*/
public static final String GOODS_BUY = "goods/buy";
/*商品调起支付*/
public static final String ORDER_PAY = "pay/order-pay";
/*商品支付查询(低频轮询)*/
public static final String ORDER_PAY_CHECK = "pay/order-pay-check";
/**
* 公共接口
*/
/*获取省市区数据*/
public static final String REGION_LIST = "common/region-list";
@@ -90,12 +140,15 @@ public class UrlAddress {
/*订单物流查询*/
public static final String ORDER_EXPRESS = "order/express";
/**
* 用户地址
*/
/*用户地址列表*/
public static final String ADDRESS_INDEX = "address/index";
/*养生视频列表*/
public static final String GET_LIVEN_VIDEO_LIST = "livenVideo/getLivenVideoList";
/*知识视频列表*/
public static final String GET_KNOWLEDGE_VIDEO_LIST = "knowledgeVideo/getKnowledgeVideoList";
/*逆地理编码*/
public static final String GEOCODING = "geocoding/v3/";
}

View File

@@ -0,0 +1,18 @@
package com.uiuios.aios.network.api;
import com.uiuios.aios.bean.AddressInfo;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.network.UrlAddress;
import java.util.List;
import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface AddressIndexApi {
@GET(UrlAddress.ADDRESS_INDEX)
Observable<BaseResponse<List<AddressInfo>>> getAddressList(
@Query("sn") String sn
);
}

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.alarmclock;
import com.uiuios.aios.bean.AlarmClockId;
import com.uiuios.aios.bean.BaseResponse;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.alarmclock;
import com.uiuios.aios.alarm.AlarmClockData;
import com.uiuios.aios.bean.BaseResponse;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.alarmclock;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.network.UrlAddress;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.alarmclock;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.network.UrlAddress;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.alarmclock;
import com.uiuios.aios.alarm.AlarmClockData;
import com.uiuios.aios.bean.BaseResponse;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.app;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.network.UrlAddress;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.desktop;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.NetDesktopIcon;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.desktop;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.network.UrlAddress;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.liven;
import com.uiui.video.bean.VideoInfo;
import com.uiuios.aios.bean.BaseResponse;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.pay;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.OrderBean;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.pay;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.WxpayBean;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.pay;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.network.UrlAddress;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.sn;
import com.uiuios.aios.bean.BaseResponse;

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.sn;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.SystemSettings;
@@ -8,7 +8,7 @@ import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface Setting {
public interface SettingApi {
@GET(UrlAddress.GET_SETTINGS)
Observable<BaseResponse<SystemSettings>> getSetting(
@Query("sn") String sn

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.sn;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.SnInfo;
@@ -8,9 +8,9 @@ import io.reactivex.rxjava3.core.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface SNInfoApi {
public interface SnInfoApi {
@GET(UrlAddress.SNINFO)
Observable<BaseResponse<SnInfo>> getsninfo(
Observable<BaseResponse<SnInfo>> getSninfo(
@Query("sn") String sn
);
}

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.sn;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.network.UrlAddress;
@@ -8,10 +8,10 @@ import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
public interface SOSRecordApi {
public interface SosRecordApi {
@FormUrlEncoded
@POST(UrlAddress.SOS_RECORD)
Observable<BaseResponse> sendSOSRecord(
Observable<BaseResponse> sendSosRecord(
@Field("sn") String sn,
@Field("longitude") String longitude,
@Field("latitude") String latitude,

View File

@@ -1,4 +1,4 @@
package com.uiuios.aios.network.api;
package com.uiuios.aios.network.api.sn;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.network.UrlAddress;

View File

@@ -0,0 +1,23 @@
package com.uiuios.aios.receiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class InstallShortcutReceiver extends BroadcastReceiver {
private static final String TAG = InstallShortcutReceiver.class.getSimpleName();
private static final String ACTION_INSTALL_SHORTCUT =
"com.android.launcher.action.INSTALL_SHORTCUT";
@Override
public void onReceive(Context context, Intent data) {
if (!ACTION_INSTALL_SHORTCUT.equals(data.getAction())) {
return;
}
Log.e(TAG, "onReceive: " + data);
}
}