version:4.9
fix: update:更新下单流程,增加备注,增加桌面图标
This commit is contained in:
@@ -188,8 +188,8 @@
|
||||
<activity
|
||||
android:name=".activity.GoodsActivity"
|
||||
android:launchMode="singleTask"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
android:screenOrientation="userPortrait" />
|
||||
android:screenOrientation="userPortrait"
|
||||
android:windowSoftInputMode="adjustPan" />
|
||||
<activity
|
||||
android:name=".activity.OrderActivity"
|
||||
android:launchMode="singleTask"
|
||||
@@ -206,7 +206,20 @@
|
||||
android:name=".activity.ExpressActivity"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="userPortrait" />
|
||||
<activity
|
||||
android:name=".activity.AddressActivity"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="userPortrait" />
|
||||
|
||||
<!-- Intent received used to install shortcuts from other applications -->
|
||||
<receiver
|
||||
android:name=".receiver.InstallShortcutReceiver"
|
||||
android:enabled="@bool/enable_install_shortcut_api"
|
||||
android:permission="com.android.launcher.permission.INSTALL_SHORTCUT">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.launcher.action.INSTALL_SHORTCUT" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver
|
||||
android:name=".receiver.BootReceiver"
|
||||
@@ -226,6 +239,7 @@
|
||||
<action android:name="zuoyeos.action.BOOT_COMPLETED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver
|
||||
android:name=".receiver.InstallResultReceiver"
|
||||
android:enabled="true"
|
||||
|
||||
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 =
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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() {
|
||||
|
||||
97
app/src/main/java/com/uiuios/aios/bean/AddressInfo.java
Normal file
97
app/src/main/java/com/uiuios/aios/bean/AddressInfo.java
Normal 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();
|
||||
}
|
||||
}
|
||||
@@ -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";
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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/";
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
);
|
||||
}
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.uiuios.aios.network.api;
|
||||
package com.uiuios.aios.network.api.sn;
|
||||
|
||||
|
||||
import com.uiuios.aios.bean.BaseResponse;
|
||||
@@ -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
|
||||
@@ -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
|
||||
);
|
||||
}
|
||||
@@ -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,
|
||||
@@ -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;
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 8.4 KiB |
13
app/src/main/res/drawable/address_background.xml
Normal file
13
app/src/main/res/drawable/address_background.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<stroke
|
||||
android:width="1px"
|
||||
android:color="@color/action_bar_red" />
|
||||
<corners android:radius="@dimen/dp_2" />
|
||||
|
||||
<padding
|
||||
android:bottom="@dimen/dp_1"
|
||||
android:left="@dimen/dp_2"
|
||||
android:right="@dimen/dp_2"
|
||||
android:top="@dimen/dp_1" />
|
||||
</shape>
|
||||
13
app/src/main/res/drawable/edittext_background.xml
Normal file
13
app/src/main/res/drawable/edittext_background.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<stroke
|
||||
android:width="1px"
|
||||
android:color="@color/black" />
|
||||
<corners android:radius="@dimen/dp_2" />
|
||||
|
||||
<padding
|
||||
android:bottom="@dimen/dp_4"
|
||||
android:left="@dimen/dp_4"
|
||||
android:right="@dimen/dp_4"
|
||||
android:top="@dimen/dp_4" />
|
||||
</shape>
|
||||
@@ -33,7 +33,7 @@
|
||||
android:layout_height="@dimen/dp_28"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/default_head"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:is_circle="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
android:layout_height="@dimen/dp_28"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/default_head"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:is_circle="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
||||
60
app/src/main/res/layout/activity_address.xml
Normal file
60
app/src/main/res/layout/activity_address.xml
Normal file
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:context=".activity.AddressActivity">
|
||||
|
||||
<data>
|
||||
<variable
|
||||
name="listener"
|
||||
type="com.uiuios.aios.activity.AddressActivity.Listener" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cl_exit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_32"
|
||||
android:onClick="@{listener.back}"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView12"
|
||||
android:layout_width="@dimen/dp_16"
|
||||
android:layout_height="@dimen/dp_16"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/back_black"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_6"
|
||||
android:text="我的收货地址"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_13"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/imageView12"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/cl_exit" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</layout>
|
||||
@@ -6,9 +6,15 @@
|
||||
|
||||
<data>
|
||||
|
||||
<import type="android.view.View" />
|
||||
|
||||
<variable
|
||||
name="goodsInfo"
|
||||
type="com.uiuios.aios.bean.GoodsInfo" />
|
||||
|
||||
<variable
|
||||
name="addressInfo"
|
||||
type="com.uiuios.aios.bean.AddressInfo" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
@@ -30,8 +36,8 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/black"
|
||||
android:text='@{goodsInfo.goods_name}'
|
||||
android:textColor="@color/black"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -50,7 +56,7 @@
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout16"
|
||||
android:id="@+id/cl_address"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_1"
|
||||
@@ -71,21 +77,83 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_location"
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="2"
|
||||
android:minLines="2"
|
||||
android:paddingStart="@dimen/dp_8"
|
||||
android:paddingEnd="@dimen/dp_32"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:layout_marginBottom="@dimen/dp_8"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/imageView14"
|
||||
app:layout_constraintStart_toEndOf="@+id/imageView13"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="测试地址测试地址测试地址测试地址测试地址测试地址测试地址测试地址" />
|
||||
app:layout_constraintStart_toEndOf="@id/imageView13"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout24"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="1"
|
||||
android:text="@{addressInfo.fullname}"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_10"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="范辉同" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_phone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/sp_4"
|
||||
android:ellipsize="end"
|
||||
android:maxWidth="@dimen/dp_70"
|
||||
android:maxLines="1"
|
||||
android:text="@{addressInfo.tel}"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_9"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_name"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_name"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_name"
|
||||
tools:text="13220282310" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_default"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/sp_4"
|
||||
android:background="@drawable/address_background"
|
||||
android:text="默认"
|
||||
android:textColor="@color/default_red"
|
||||
android:textSize="@dimen/sp_7"
|
||||
android:visibility="@{addressInfo.is_default==1?View.VISIBLE:View.GONE}"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_phone"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_phone"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_phone" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_address"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:maxLines="2"
|
||||
android:textColor="@color/title_gray"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/constraintLayout24"
|
||||
tools:text="广东省 深圳市 龙岗区 坂田街道 天安路15号杨英楼" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView14"
|
||||
@@ -107,7 +175,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:background="@color/white"
|
||||
app:layout_constraintTop_toBottomOf="@+id/constraintLayout16">
|
||||
app:layout_constraintTop_toBottomOf="@+id/cl_address">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_goods"
|
||||
@@ -129,11 +197,11 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_8"
|
||||
android:maxLines="1"
|
||||
tools:text="券后¥8278"
|
||||
android:textColor="@color/default_red"
|
||||
android:textSize="@dimen/sp_13"
|
||||
app:layout_constraintStart_toEndOf="@+id/iv_goods"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv_goods" />
|
||||
app:layout_constraintTop_toTopOf="@+id/iv_goods"
|
||||
tools:text="券后¥8278" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_original_price"
|
||||
@@ -144,9 +212,9 @@
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/title_gray"
|
||||
android:textSize="@dimen/sp_9"
|
||||
tools:text="券前¥8278"
|
||||
app:layout_constraintStart_toEndOf="@+id/iv_goods"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_price" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_price"
|
||||
tools:text="券前¥8278" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout17"
|
||||
@@ -219,6 +287,33 @@
|
||||
app:layout_constraintBottom_toTopOf="@+id/cl_pay"
|
||||
app:layout_constraintTop_toBottomOf="@+id/constraintLayout20">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView9"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_8"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:text="订单备注"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_11"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_remark"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
android:layout_marginStart="@dimen/dp_8"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:layout_marginEnd="@dimen/dp_8"
|
||||
android:background="@drawable/edittext_background"
|
||||
android:textSize="@dimen/sp_10"
|
||||
android:gravity="start"
|
||||
android:singleLine="true"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/textView9" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
||||
106
app/src/main/res/layout/item_address.xml
Normal file
106
app/src/main/res/layout/item_address.xml
Normal file
@@ -0,0 +1,106 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/white">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_avatar"
|
||||
android:layout_width="@dimen/dp_48"
|
||||
android:layout_height="@dimen/dp_48"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:layout_marginBottom="@dimen/dp_8"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/default_avatar"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:layout_marginBottom="@dimen/dp_8"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_avatar"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv_avatar">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout24"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:text="范辉同" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_phone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/sp_4"
|
||||
android:ellipsize="end"
|
||||
android:maxWidth="@dimen/dp_100"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_11"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_name"
|
||||
app:layout_constraintStart_toEndOf="@id/tv_name"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_name"
|
||||
tools:text="13220282310" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_default"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/sp_4"
|
||||
android:background="@drawable/address_background"
|
||||
android:text="默认"
|
||||
android:textColor="@color/default_red"
|
||||
android:textSize="@dimen/sp_9"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tv_phone"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_phone"
|
||||
app:layout_constraintTop_toTopOf="@id/tv_phone" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_address"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:maxLines="2"
|
||||
android:textColor="@color/title_gray"
|
||||
android:textSize="@dimen/sp_11"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/constraintLayout24"
|
||||
tools:text="广东省 深圳市 龙岗区 坂田街道 天安路15号杨英楼 c栋 409 " />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_1"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
android:layout_marginEnd="@dimen/dp_16"
|
||||
android:background="@color/gray"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
23
app/src/main/res/values/bools.xml
Normal file
23
app/src/main/res/values/bools.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/* Copyright 2017, The Android Open Source Project
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
-->
|
||||
|
||||
<resources>
|
||||
<bool name="notification_dots_enabled">false</bool>
|
||||
|
||||
<bool name="enable_install_shortcut_api">true</bool>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user