Commit acd39c95 by sikang

添加动æè联系人动态列表

parent c36f969c
......@@ -80,7 +80,7 @@ dependencies {
//SmartRefresh
api 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-14'
// api 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0-alpha-14'//没有使用特殊Header,可以不加这行
api 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0-alpha-14'//没有使用特殊Header,可以不加这行
//Gson
api 'com.google.code.gson:gson:2.8.2'
......
package com.common.bean;
import java.io.Serializable;
/**
* Created by SiKang on 2019/3/21.
*/
public class ContactBean implements Serializable {
private String id;//:0,
private String mobile;//:string,
private String name;//:string,
private String relation;//:PARENT
public ContactBean(String mobile, String name, String relation) {
this.mobile = mobile;
this.name = name;
this.relation = relation;
}
public ContactBean() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRelation() {
return relation;
}
public void setRelation(String relation) {
this.relation = relation;
}
}
......@@ -7,6 +7,7 @@ import android.text.TextUtils;
import android.view.View;
import com.meituan.android.walle.WalleChannelReader;
import com.scwang.smartrefresh.header.MaterialHeader;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.DefaultRefreshFooterCreator;
import com.scwang.smartrefresh.layout.api.DefaultRefreshHeaderCreator;
......@@ -210,7 +211,7 @@ public class LibConfig {
@Override
public RefreshHeader createRefreshHeader(Context context, RefreshLayout layout) {
layout.setPrimaryColorsId(R.color.qmui_config_color_gray_9, R.color.qmui_config_color_50_pure_black);//全局设置主题颜色
return new ClassicsHeader(context);//.setTimeFormat(new DynamicTimeFormat("更新于 %s"));//指定为经典Header,默认是 贝塞尔雷达Header
return new MaterialHeader(context);//.setTimeFormat(new DynamicTimeFormat("更新于 %s"));//指定为经典Header,默认是 贝塞尔雷达Header
}
});
//设置全局的Footer构建器
......
......@@ -7,6 +7,7 @@ import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
......@@ -17,6 +18,7 @@ public abstract class BaseRecyclerAdapter<T> extends RecyclerView.Adapter<Recycl
private final Context context;
private OnItemClickListener<T> mClickListener;
private OnItemLongClickListener<T> mLongClickListener;
private List<Integer> childClickSet;
public BaseRecyclerAdapter(Context ctx, List<T> list) {
mData = (list != null) ? list : new ArrayList<T>();
......@@ -37,20 +39,13 @@ public abstract class BaseRecyclerAdapter<T> extends RecyclerView.Adapter<Recycl
final RecyclerViewHolder holder = new RecyclerViewHolder(view);
initViewHolder(holder);
if (mClickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mClickListener.onItemClick(holder.itemView, holder.getLayoutPosition(), mData.get(holder.getLayoutPosition()));
}
});
holder.itemView.setOnClickListener(v ->
mClickListener.onItemClick(holder.itemView, holder.getLayoutPosition(), mData.get(holder.getLayoutPosition())));
}
if (mLongClickListener != null) {
holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
holder.itemView.setOnLongClickListener(v -> {
mLongClickListener.onItemLongClick(holder.itemView, holder.getLayoutPosition(), mData.get(holder.getLayoutPosition()));
return true;
}
});
}
return holder;
......@@ -59,6 +54,14 @@ public abstract class BaseRecyclerAdapter<T> extends RecyclerView.Adapter<Recycl
@Override
public final void onBindViewHolder(RecyclerViewHolder holder, int position) {
bindData(holder, position, mData.get(position));
if (mClickListener != null && childClickSet.size() > 0) {
for (int id : childClickSet) {
View child = holder.getView(id);
if (child != null) {
child.setOnClickListener(v -> mClickListener.onItemClick(v, position, mData.get(position)));
}
}
}
}
......@@ -85,8 +88,11 @@ public abstract class BaseRecyclerAdapter<T> extends RecyclerView.Adapter<Recycl
}
public void setOnItemClickListener(OnItemClickListener<T> listener) {
public void setOnItemClickListener(OnItemClickListener<T> listener, Integer... viewIds) {
mClickListener = listener;
childClickSet = new ArrayList<>();
childClickSet.addAll(Arrays.asList(viewIds));
}
public void setOnItemLongClickListener(OnItemLongClickListener<T> listener) {
......
......@@ -8,10 +8,12 @@ import java.util.List;
import io.reactivex.Observable;
import okhttp3.ResponseBody;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Path;
......@@ -21,6 +23,7 @@ import retrofit2.http.Url;
import com.common.bean.ActivityInfoBean;
import com.common.bean.BannerMessageDto;
import com.common.bean.BasicAck;
import com.common.bean.ContactBean;
import com.common.bean.ContactInfoBean;
import com.common.bean.CouponBean;
import com.common.bean.DisplayBean;
......@@ -88,13 +91,12 @@ public interface UserApi {
/**
* 上传firebase 推送图片
* */
*/
@FormUrlEncoded
@PUT("record/firebase_token")
Observable<ResponseBody> uploadFirebaseToken(@Field("firebase_token") String token);
/**
* 获取认证信息
*/
......@@ -157,6 +159,14 @@ public interface UserApi {
@Header("X-AUTH-TOKEN") String token);
@GET("/record/emergency/contact/list")
Observable<List<ContactBean>> getContactList();
@Headers("Content-Type: application/json")
@PUT("/record/emergency/contact")
Observable<BasicAck> submitContactList(@Body List<ContactBean> contactList);
/**
* 提交工作认证信息
*/
......@@ -305,7 +315,6 @@ public interface UserApi {
Observable<UserBankInfo> getBankCardInfo(@Header("X-AUTH-TOKEN") String token);
@GET("chat/account")
Observable<YWUser> getChatUserInfo(@Header("X-AUTH-TOKEN") String token);
......
......@@ -27,6 +27,7 @@ import tech.starwin.mvp.api.UploadApi;
import tech.starwin.mvp.api.UserApi;
import com.common.bean.BankBean;
import com.common.bean.ContactBean;
import com.common.bean.ContactInfoBean;
import com.common.bean.DisplayBean;
import com.common.bean.EmploymentServerBean;
......@@ -560,6 +561,22 @@ public class UserPresenter extends BasePresenter<UserApi> {
handleRequest(action, apiService.getContactInfo(LoginManager.get().getToken()));
}
/**
* 获取联系人信息
*/
public void getContactList(String action) {
handleRequest(action, apiService.getContactList());
}
/**
* 获取联系人信息
*/
public void submitContactList(String action, List<ContactBean> contactBeans) {
handleRequest(action, apiService.submitContactList(contactBeans));
}
/**
* 公告
*/
......
......@@ -189,7 +189,7 @@ public class InfoTranslator {
/**
* 还款方式
* 亲属关系
*/
public static StringAdapter getFamilyContactAdapter(Context context) {
StringAdapter adapter = new StringAdapter();
......@@ -201,7 +201,7 @@ public class InfoTranslator {
/**
* 还款方式
* 朋友关系
*/
public static StringAdapter getFriendContactAdapter(Context context) {
StringAdapter adapter = new StringAdapter();
......@@ -211,6 +211,20 @@ public class InfoTranslator {
return adapter;
}
/**
* 所有关系
*/
public static StringAdapter getContactRelationAdapter(Context context) {
StringAdapter adapter = new StringAdapter();
adapter.addItem(newItem(context, "PARENT", R.string.contact_father));
adapter.addItem(newItem(context, "MOTHER", R.string.contact_mother));
adapter.addItem(newItem(context, "SPOUSE", R.string.contact_spouse));
adapter.addItem(newItem(context, "FRIEND", R.string.contact_friend));
adapter.addItem(newItem(context, "CLASSMATE", R.string.contact_classmates));
adapter.addItem(newItem(context, "COLLEAGUE", R.string.contact_colleagues));
return adapter;
}
private static StringAdapter.Item newItem(Context context, String value, int info) {
......
......@@ -27,6 +27,23 @@ import tech.starwin.R;
public class StringFormat {
/**
* 是否有空值
*/
public static boolean hasEmpty(String value, String... values) {
if (TextUtils.isEmpty(value)) {
return true;
} else {
for (String str : values) {
if (TextUtils.isEmpty(str)) {
return true;
}
}
}
return false;
}
/**
* 格式化金额
*/
public static String moneyFormat(@Nullable Context context, double money) {
......
......@@ -94,6 +94,8 @@
<string name="text_progress_rating"> 0% </string>
<string name="button_certification_submit">Submit</string>
<string name="text_next_step">Next Step</string>
<string name="text_remain_days">05</string>
<string name="text_unit_days">Day</string>
......
......@@ -463,6 +463,8 @@
<string name="repayment_transation_code_text">交易号</string>
<string name="text_next_step">下一步</string>
<string name="pay_in_alfamart">
\n
1.去Alfamart旗下(Alfamart,Alfamidi,Lawson,AND + AND)。\n
......
......@@ -123,6 +123,8 @@
<string name="text_remain_text">Sisa: </string>
<string name="text_been_payment_account">Rp42.000</string>
<string name="text_next_step">Langkah berikutnya</string>
<string name="text_title_system_message">Pesan Sistem</string>
<string name="text_customer_service_hotline">Hubungi Kami</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment