diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 850eebb..5be463b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -92,6 +92,7 @@ + phoneListSet; + private List phoneListSet; private CacheHelper mCacheHelper; @Override @@ -80,9 +76,9 @@ public class EmergencyActivity extends AppCompatActivity { return; } Gson gson = new Gson(); - Type type = new TypeToken>() { + Type type = new TypeToken>() { }.getType(); - List setting_sos = gson.fromJson(jsonString, type); + List setting_sos = gson.fromJson(jsonString, type); if (setting_sos == null || setting_sos.size() == 0) { return; } diff --git a/app/src/main/java/com/uiui/aios/activity/contact/ContactActivity.java b/app/src/main/java/com/uiui/aios/activity/contact/ContactActivity.java new file mode 100644 index 0000000..ff7c780 --- /dev/null +++ b/app/src/main/java/com/uiui/aios/activity/contact/ContactActivity.java @@ -0,0 +1,46 @@ +package com.uiui.aios.activity.contact; + +import androidx.recyclerview.widget.RecyclerView; + +import com.uiui.aios.R; +import com.uiui.aios.adapter.ContactAdapter; +import com.uiui.aios.base.BaseActivity; +import com.uiui.aios.bean.Contact; + +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; + +public class ContactActivity extends BaseActivity implements ContactContact.ContactView { + @BindView(R.id.rv_contact) + RecyclerView rv_contact; + + private ContactPresenter mContactPresenter; + private ContactAdapter mContactAdapter; + + @Override + public int getLayoutId() { + return R.layout.activity_contact; + } + + @Override + public void initView() { + ButterKnife.bind(this); + mContactPresenter = new ContactPresenter(this); + mContactPresenter.attachView(this); + mContactPresenter.setLifecycle(lifecycleSubject); + mContactAdapter = new ContactAdapter(); + rv_contact.setAdapter(mContactAdapter); + } + + @Override + public void initData() { + mContactPresenter.getContact(); + } + + @Override + public void setContact(List contactList) { + mContactAdapter.setContactList(contactList); + } +} diff --git a/app/src/main/java/com/uiui/aios/activity/contact/ContactContact.java b/app/src/main/java/com/uiui/aios/activity/contact/ContactContact.java new file mode 100644 index 0000000..20041c6 --- /dev/null +++ b/app/src/main/java/com/uiui/aios/activity/contact/ContactContact.java @@ -0,0 +1,17 @@ +package com.uiui.aios.activity.contact; + +import com.uiui.aios.base.BasePresenter; +import com.uiui.aios.base.BaseView; +import com.uiui.aios.bean.Contact; + +import java.util.List; + +public class ContactContact { + public interface Presenter extends BasePresenter { + void getContact(); + } + + public interface ContactView extends BaseView { + void setContact(List contactList); + } +} diff --git a/app/src/main/java/com/uiui/aios/activity/contact/ContactPresenter.java b/app/src/main/java/com/uiui/aios/activity/contact/ContactPresenter.java new file mode 100644 index 0000000..61bc49c --- /dev/null +++ b/app/src/main/java/com/uiui/aios/activity/contact/ContactPresenter.java @@ -0,0 +1,76 @@ +package com.uiui.aios.activity.contact; + +import android.content.Context; +import android.util.Log; + +import com.trello.rxlifecycle4.RxLifecycle; +import com.trello.rxlifecycle4.android.ActivityEvent; +import com.uiui.aios.bean.BaseResponse; +import com.uiui.aios.bean.Contact; +import com.uiui.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; +import io.reactivex.rxjava3.subjects.BehaviorSubject; + +public class ContactPresenter implements ContactContact.Presenter { + private Context mContext; + private ContactContact.ContactView mView; + + private BehaviorSubject lifecycle; + + void setLifecycle(BehaviorSubject lifecycle) { + this.lifecycle = lifecycle; + } + + public BehaviorSubject getLifecycle() { + return lifecycle; + } + + ContactPresenter(Context context) { + this.mContext = context; + } + + @Override + public void attachView(@NonNull ContactContact.ContactView view) { + this.mView = view; + } + + @Override + public void detachView() { + this.mView = null; + } + + @Override + public void getContact() { + NetInterfaceManager.getInstance() + .getContactListObservable() + .compose(RxLifecycle.bindUntilEvent(lifecycle, ActivityEvent.DESTROY)) + .subscribe(new Observer>>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e("getContactList", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse> listBaseResponse) { + Log.e("getContactList", "onNext: " + listBaseResponse); + mView.setContact(listBaseResponse.data); + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e("getContactList", "onError: " + e.getMessage()); + onComplete(); + } + + @Override + public void onComplete() { + Log.e("getContactList", "onComplete: "); + } + }); + } +} diff --git a/app/src/main/java/com/uiui/aios/activity/main/MainPresenter.java b/app/src/main/java/com/uiui/aios/activity/main/MainPresenter.java index 72304bb..b26193d 100644 --- a/app/src/main/java/com/uiui/aios/activity/main/MainPresenter.java +++ b/app/src/main/java/com/uiui/aios/activity/main/MainPresenter.java @@ -11,7 +11,7 @@ import com.trello.rxlifecycle4.android.ActivityEvent; import com.uiui.aios.BuildConfig; import com.uiui.aios.bean.BaseResponse; import com.uiui.aios.bean.NetDesktopIcon; -import com.uiui.aios.bean.SOSSetting; +import com.uiui.aios.bean.Contact; import com.uiui.aios.network.NetInterfaceManager; import com.uiui.aios.utils.ApkUtils; import com.uiui.aios.utils.AppUsedTimeUtils; @@ -59,7 +59,7 @@ public class MainPresenter implements MainContact.Presenter { NetInterfaceManager.getInstance().getSystemSettings(true, getLifecycle(), new NetInterfaceManager.SosNumberCallback() { @Override - public void setSosNumber(List setting_sos) { + public void setSosNumber(List setting_sos) { Intent intent = new Intent("setting_sos"); mContext.sendBroadcast(intent); } diff --git a/app/src/main/java/com/uiui/aios/adapter/ContactAdapter.java b/app/src/main/java/com/uiui/aios/adapter/ContactAdapter.java new file mode 100644 index 0000000..87967f4 --- /dev/null +++ b/app/src/main/java/com/uiui/aios/adapter/ContactAdapter.java @@ -0,0 +1,60 @@ +package com.uiui.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.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.uiui.aios.R; +import com.uiui.aios.bean.Contact; + +import java.util.List; + +public class ContactAdapter extends RecyclerView.Adapter { + private List mContactList; + private Context mContext; + + public void setContactList(List contactList) { + this.mContactList = contactList; + notifyDataSetChanged(); + } + + @NonNull + @Override + public ContactHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + mContext = parent.getContext(); + return new ContactHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_contact, parent, false)); + } + + @Override + public void onBindViewHolder(@NonNull ContactHolder contactHolder, int position) { + Contact contact = mContactList.get(position); + Glide.with(contactHolder.iv_head).load(contact.getAvatar()).into(contactHolder.iv_head); + contactHolder.tv_name.setText(contact.getName()); + contactHolder.tv_phone.setText(contact.getMobile()); + } + + @Override + public int getItemCount() { + return mContactList == null ? 0 : mContactList.size(); + } + + static class ContactHolder extends RecyclerView.ViewHolder { + ImageView iv_head; + TextView tv_name; + TextView tv_phone; + + public ContactHolder(@NonNull View itemView) { + super(itemView); + iv_head = itemView.findViewById(R.id.iv_head); + tv_name = itemView.findViewById(R.id.tv_name); + tv_phone = itemView.findViewById(R.id.tv_phone); + } + } +} diff --git a/app/src/main/java/com/uiui/aios/adapter/SOSNnmberAdapter.java b/app/src/main/java/com/uiui/aios/adapter/SOSNnmberAdapter.java index ec73c9c..0f01007 100644 --- a/app/src/main/java/com/uiui/aios/adapter/SOSNnmberAdapter.java +++ b/app/src/main/java/com/uiui/aios/adapter/SOSNnmberAdapter.java @@ -13,16 +13,16 @@ import androidx.recyclerview.widget.RecyclerView; import com.uiui.aios.R; import com.uiui.aios.activity.EmergencyActivity; -import com.uiui.aios.bean.SOSSetting; +import com.uiui.aios.bean.Contact; import java.util.List; public class SOSNnmberAdapter extends RecyclerView.Adapter { - private List phoneNumberList; + private List phoneNumberList; private Context mContext; - public void setPhoneNumberList(List sosSettingList) { - this.phoneNumberList = sosSettingList; + public void setPhoneNumberList(List contactList) { + this.phoneNumberList = contactList; notifyDataSetChanged(); } @@ -36,11 +36,11 @@ public class SOSNnmberAdapter extends RecyclerView.Adapter { Intent intent = new Intent(mContext, EmergencyActivity.class); - intent.putExtra("setting_sos", sosSetting.getMobile()); + intent.putExtra("setting_sos", contact.getMobile()); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mContext.startActivity(intent); diff --git a/app/src/main/java/com/uiui/aios/bean/SOSSetting.java b/app/src/main/java/com/uiui/aios/bean/Contact.java similarity index 96% rename from app/src/main/java/com/uiui/aios/bean/SOSSetting.java rename to app/src/main/java/com/uiui/aios/bean/Contact.java index 152bc03..c26bd49 100644 --- a/app/src/main/java/com/uiui/aios/bean/SOSSetting.java +++ b/app/src/main/java/com/uiui/aios/bean/Contact.java @@ -7,7 +7,7 @@ import com.google.gson.JsonParser; import java.io.Serializable; -public class SOSSetting implements Serializable { +public class Contact implements Serializable { private static final long serialVersionUID = 8814155739557674021L; int id; diff --git a/app/src/main/java/com/uiui/aios/bean/SystemSettings.java b/app/src/main/java/com/uiui/aios/bean/SystemSettings.java index e4c42ce..81946d5 100644 --- a/app/src/main/java/com/uiui/aios/bean/SystemSettings.java +++ b/app/src/main/java/com/uiui/aios/bean/SystemSettings.java @@ -37,7 +37,7 @@ public class SystemSettings implements Serializable { int qch_restore; int setting_browserInput; int dev_mode; - List setting_sos; + List setting_sos; String setting_volume; String setting_luminance; String setting_typeface; @@ -262,11 +262,11 @@ public class SystemSettings implements Serializable { this.setting_hotspot = setting_hotspot; } - public List getSetting_sos() { + public List getSetting_sos() { return setting_sos; } - public void setSetting_sos(List setting_sos) { + public void setSetting_sos(List setting_sos) { this.setting_sos = setting_sos; } diff --git a/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java b/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java index 90d85ef..d65d03a 100644 --- a/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java +++ b/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java @@ -20,7 +20,6 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.os.Handler; -import android.provider.Settings; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; @@ -32,7 +31,6 @@ import android.widget.TextView; import com.amap.api.location.AMapLocation; import com.amap.api.location.AMapLocationListener; import com.blankj.utilcode.util.NetworkUtils; -import com.bumptech.glide.Glide; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.qweather.sdk.bean.base.Code; @@ -48,6 +46,7 @@ import com.uiui.aios.R; import com.uiui.aios.activity.code.HealthCodeActivity; import com.uiui.aios.activity.EmergencyActivity; import com.uiui.aios.activity.alarm.AlarmClockActivity; +import com.uiui.aios.activity.contact.ContactActivity; import com.uiui.aios.activity.weather.WeatherActivity; import com.uiui.aios.adapter.NotificationAdapter; import com.uiui.aios.adapter.SOSNnmberAdapter; @@ -55,7 +54,7 @@ import com.uiui.aios.bean.AlarmClockData; import com.uiui.aios.bean.AlarmItem; import com.uiui.aios.bean.BaseResponse; import com.uiui.aios.bean.HealthCode; -import com.uiui.aios.bean.SOSSetting; +import com.uiui.aios.bean.Contact; import com.uiui.aios.bean.SnInfo; import com.uiui.aios.bean.UserAvatarInfo; import com.uiui.aios.dialog.SingleDialog; @@ -75,7 +74,6 @@ import com.uiui.aios.utils.Utils; import java.lang.reflect.Method; import java.lang.reflect.Type; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import butterknife.BindView; @@ -94,12 +92,21 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt // @BindView(R.id.cl_alarm) // ConstraintLayout cl_alarm; - @BindView(R.id.cl_note) - ConstraintLayout cl_note; - @BindView(R.id.cl_sos) - ConstraintLayout cl_soso; @BindView(R.id.cl_weather) ConstraintLayout cl_weather; + @BindView(R.id.cl_shared_space) + ConstraintLayout cl_shared_space; + @BindView(R.id.cl_sos) + ConstraintLayout cl_soso; + @BindView(R.id.cl_guard) + ConstraintLayout cl_guard; + @BindView(R.id.cl_health) + ConstraintLayout cl_health; + @BindView(R.id.cl_contact) + ConstraintLayout cl_contact; + @BindView(R.id.cl_ai) + ConstraintLayout cl_ai; + // @BindView(R.id.cl_battery) // ConstraintLayout cl_battery; // @BindView(R.id.tv_add) @@ -130,15 +137,6 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt ImageView iv_note_nodata; @BindView(R.id.iv_head) NiceImageView iv_head; - - @BindView(R.id.cl_health) - ConstraintLayout mClHealth; - @BindView(R.id.cl_tongue) - ConstraintLayout mClTongue; - @BindView(R.id.cl_face) - ConstraintLayout mClFace; - @BindView(R.id.cl_hand) - ConstraintLayout mClHand; @BindView(R.id.tv_name) TextView tv_name; @@ -356,7 +354,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt // ApkUtils.openPackage(mContext, "com.alarmclock.uiui"); // } // }); - cl_note.setOnClickListener(new View.OnClickListener() { + cl_guard.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getAlarm(); @@ -382,9 +380,6 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt } else { // wifi_ssid.setText("WiFi未连接"); } -// alarmClockAdapter = new AlarmClockAdapter(); -// rv_clock.setLayoutManager(new LinearLayoutManager(mContext)); -// rv_clock.setAdapter(alarmClockAdapter); sosNnmberAdapter = new SOSNnmberAdapter(); rv_sos.setLayoutManager(new LinearLayoutManager(mContext)); rv_sos.setAdapter(sosNnmberAdapter); @@ -400,56 +395,37 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt startActivity(new Intent(mContext, WeatherActivity.class)); } }); -// cl_battery.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View view) { -// Intent powerUsageIntent = new Intent(Intent.ACTION_POWER_USAGE_SUMMARY); -// ResolveInfo resolveInfo = mContext.getPackageManager().resolveActivity(powerUsageIntent, 0); -//// check that the Battery app exists on this device -// if (resolveInfo != null) { -// startActivity(powerUsageIntent); -// } -// } -// }); - mClHealth.setOnClickListener(new View.OnClickListener() { + cl_shared_space.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ToastUtil.show("此功能暂未上线"); + } + }); + cl_health.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getHealthCode(); -// SchemeUtils.openScheme(mContext, SchemeUtils.SCHEME_TONGUE); } }); - mClTongue.setOnClickListener(new View.OnClickListener() { + cl_contact.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { -// startActivity(new Intent(mContext, CodeActivity.class)); -// startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //直接进入手机中的wifi网络设置界面 - openScheme(SchemeUtils.SCHEME_TONGUE); + startActivity(new Intent(getActivity(), ContactActivity.class)); } }); - mClFace.setOnClickListener(new View.OnClickListener() { + cl_ai.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { -// startActivity(new Intent(mContext, CodeActivity.class)); - openScheme(SchemeUtils.SCHEME_FACE); - } - }); - mClHand.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { -// startActivity(new Intent(mContext, CodeActivity.class)); -// mContext.startActivity(new Intent(mContext, APPListActivity.class)); openScheme(SchemeUtils.SCHEME_HAND); } }); - -// setAlarm(); refreshMemory(); } private void checkSosNumber() { NetInterfaceManager.getInstance().getSystemSettings(new NetInterfaceManager.SosNumberCallback() { @Override - public void setSosNumber(List setting_sos) { + public void setSosNumber(List setting_sos) { Intent intent = new Intent(mContext, EmergencyActivity.class); // intent.putExtra("setting_sos", phone); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); @@ -475,12 +451,12 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt public void setSnInfo(SnInfo snInfo) { if (snInfo != null) { if (TextUtils.isEmpty(snInfo.getSn_name())) { - tv_name.setText("未设置"); +// tv_name.setText("未设置"); } else { - tv_name.setText(snInfo.getSn_name()); +// tv_name.setText(snInfo.getSn_name()); } } else { - tv_name.setText("未设置"); +// tv_name.setText("未设置"); } } }); @@ -496,7 +472,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt Log.e("getUserAvatarInfoControl", "onNext: " + userAvatarInfoBaseResponse); if (userAvatarInfoBaseResponse.code == 200) { if (!mContext.isDestroyed()) { - Glide.with(iv_head).load(userAvatarInfoBaseResponse.data.getAvatar()).into(iv_head); +// Glide.with(iv_head).load(userAvatarInfoBaseResponse.data.getAvatar()).into(iv_head); } } } @@ -565,6 +541,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt dialog.setMessage("绑定手机才能使用"); dialog.show(); } else { + ApkUtils.openApp(mContext, "com.uiui.health"); SchemeUtils.openScheme(mContext, uri); } } @@ -579,9 +556,9 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt // iv_sos.setVisibility(View.VISIBLE); } else { Gson gson = new Gson(); - Type type = new TypeToken>() { + Type type = new TypeToken>() { }.getType(); - List setting_sos = gson.fromJson(jsonString, type); + List setting_sos = gson.fromJson(jsonString, type); if (setting_sos == null || setting_sos.size() == 0) { // rv_sos.setVisibility(View.VISIBLE); // iv_sos.setVisibility(View.GONE); diff --git a/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java b/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java index 1b15e36..f8cf7d5 100644 --- a/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java +++ b/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java @@ -2,7 +2,6 @@ package com.uiui.aios.network; import android.annotation.SuppressLint; import android.content.Context; -import android.text.TextUtils; import android.util.Log; import com.google.gson.Gson; @@ -20,7 +19,7 @@ import com.uiui.aios.bean.DemandBean; import com.uiui.aios.bean.GoodsInfo; import com.uiui.aios.bean.HealthCode; import com.uiui.aios.bean.NetDesktopIcon; -import com.uiui.aios.bean.SOSSetting; +import com.uiui.aios.bean.Contact; import com.uiui.aios.bean.SnInfo; import com.uiui.aios.bean.SystemSettings; import com.uiui.aios.bean.UserAvatarInfo; @@ -34,6 +33,7 @@ import com.uiui.aios.network.api.AppUsageRecordApi; import com.uiui.aios.network.api.ArticleListApi; import com.uiui.aios.network.api.DemandListApi; import com.uiui.aios.network.api.GetDesktopApi; +import com.uiui.aios.network.api.GetMailList; import com.uiui.aios.network.api.GetUserIDApi; import com.uiui.aios.network.api.GoodsListApi; import com.uiui.aios.network.api.HealthCodeApi; @@ -239,6 +239,13 @@ public class NetInterfaceManager { .observeOn(AndroidSchedulers.mainThread()); } + public Observable>> getContactListObservable() { + return mRetrofit.create(GetMailList.class) + .getContact(Utils.getSerial()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()); + } + public interface onCompleteCallback { void onComplete(); } @@ -788,7 +795,7 @@ public class NetInterfaceManager { } public interface SosNumberCallback { - void setSosNumber(List setting_sos); + void setSosNumber(List setting_sos); void setEmpty(); @@ -809,9 +816,9 @@ public class NetInterfaceManager { getSystemSettings(lifecycle, callback); } else { Gson gson = new Gson(); - Type type = new TypeToken>() { + Type type = new TypeToken>() { }.getType(); - List setting_sos = gson.fromJson(jsonString, type); + List setting_sos = gson.fromJson(jsonString, type); if (setting_sos == null || setting_sos.size() == 0) { if (callback != null) callback.setEmpty(); } else { @@ -853,7 +860,7 @@ public class NetInterfaceManager { mMMKV.encode("is_health", systemSettings.getIs_health()); mMMKV.encode("is_shopping", systemSettings.getIs_shopping()); mMMKV.encode("is_info", systemSettings.getIs_info()); - List setting_sos = systemSettings.getSetting_sos(); + List setting_sos = systemSettings.getSetting_sos(); if (setting_sos == null || setting_sos.size() == 0) { mCacheHelper.put(URLAddress.GET_SETTINGS, ""); if (callback != null) callback.setEmpty(); @@ -876,9 +883,9 @@ public class NetInterfaceManager { if (callback != null) callback.setEmpty(); } else { Gson gson = new Gson(); - Type type = new TypeToken>() { + Type type = new TypeToken>() { }.getType(); - List setting_sos = gson.fromJson(jsonString, type); + List setting_sos = gson.fromJson(jsonString, type); if (setting_sos == null || setting_sos.size() == 0) { if (callback != null) callback.setEmpty(); } else { @@ -896,4 +903,28 @@ public class NetInterfaceManager { } }; } + + public void getContactList() { + getContactListObservable().subscribe(new Observer>>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e("getContactList", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse> listBaseResponse) { + Log.e("getContactList", "onNext: " + listBaseResponse); + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e("getContactList", "onError: " + e.getMessage()); + } + + @Override + public void onComplete() { + Log.e("getContactList", "onComplete: "); + } + }); + } } diff --git a/app/src/main/java/com/uiui/aios/network/URLAddress.java b/app/src/main/java/com/uiui/aios/network/URLAddress.java index 2d19589..f244b69 100644 --- a/app/src/main/java/com/uiui/aios/network/URLAddress.java +++ b/app/src/main/java/com/uiui/aios/network/URLAddress.java @@ -38,6 +38,8 @@ public class URLAddress { public static final String GET_DEMAND_LIST = "demandList"; /*获取健康吗*/ public static final String GET_HEALTH_CODE = "getHealthCode"; + /*获取联系人*/ + public static final String GET_MAIL_LIST = "Control/getMailList"; public static final String GET_USER_ID = "getUserId"; diff --git a/app/src/main/java/com/uiui/aios/network/api/GetMailList.java b/app/src/main/java/com/uiui/aios/network/api/GetMailList.java new file mode 100644 index 0000000..d24d4a6 --- /dev/null +++ b/app/src/main/java/com/uiui/aios/network/api/GetMailList.java @@ -0,0 +1,18 @@ +package com.uiui.aios.network.api; + +import com.uiui.aios.bean.BaseResponse; +import com.uiui.aios.bean.Contact; +import com.uiui.aios.network.URLAddress; + +import java.util.List; + +import io.reactivex.rxjava3.core.Observable; +import retrofit2.http.GET; +import retrofit2.http.Query; + +public interface GetMailList { + @GET(URLAddress.GET_MAIL_LIST) + Observable>> getContact( + @Query("sn") String sn + ); +} diff --git a/app/src/main/res/drawable-hdpi/contact_icon.png b/app/src/main/res/drawable-hdpi/contact_icon.png new file mode 100644 index 0000000..759569e Binary files /dev/null and b/app/src/main/res/drawable-hdpi/contact_icon.png differ diff --git a/app/src/main/res/drawable-hdpi/gallery_icon.png b/app/src/main/res/drawable-hdpi/gallery_icon.png new file mode 100644 index 0000000..f509ece Binary files /dev/null and b/app/src/main/res/drawable-hdpi/gallery_icon.png differ diff --git a/app/src/main/res/drawable-hdpi/health_code.png b/app/src/main/res/drawable-hdpi/health_code.png index a67a4a5..f27a8bd 100644 Binary files a/app/src/main/res/drawable-hdpi/health_code.png and b/app/src/main/res/drawable-hdpi/health_code.png differ diff --git a/app/src/main/res/layout-land/activity_contact.xml b/app/src/main/res/layout-land/activity_contact.xml new file mode 100644 index 0000000..d66bab7 --- /dev/null +++ b/app/src/main/res/layout-land/activity_contact.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout-land/activity_weather.xml b/app/src/main/res/layout-land/activity_weather.xml index a7a3c76..f57a916 100644 --- a/app/src/main/res/layout-land/activity_weather.xml +++ b/app/src/main/res/layout-land/activity_weather.xml @@ -9,13 +9,15 @@ + android:layout_height="wrap_content" + app:layout_constraintTop_toTopOf="parent"> + - - - + --> + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout-port/fragment_custom.xml b/app/src/main/res/layout-port/fragment_custom.xml index 0ebb9f1..50795a8 100644 --- a/app/src/main/res/layout-port/fragment_custom.xml +++ b/app/src/main/res/layout-port/fragment_custom.xml @@ -86,7 +86,7 @@ android:orientation="horizontal"> - - - --> + + + @@ -329,7 +330,7 @@ android:orientation="horizontal"> + + + + + + + + + + + + + \ No newline at end of file