From dc0de4faf814863ce92628fec6b04be2587abacb Mon Sep 17 00:00:00 2001 From: fanhuitong <981964879@qq.com> Date: Wed, 12 Oct 2022 11:52:01 +0800 Subject: [PATCH] =?UTF-8?q?version:4.2=20fix:=20update:=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=81=94=E7=B3=BB=E4=BA=BA=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 6 +- .../activity/contact/ContactActivity.java | 33 +++++++++- .../aios/activity/main/MainPresenter.java | 3 +- .../com/uiui/aios/adapter/ContactAdapter.java | 22 ++++++- .../com/uiui/aios/bean/EmergencyContact.java | 53 ++++++++++++++++ .../com/uiui/aios/bean/SystemSettings.java | 6 +- .../uiui/aios/fragment/CustomFragment.java | 38 ++++++++---- .../aios/network/NetInterfaceManager.java | 19 +++--- .../main/res/layout-land/activity_contact.xml | 14 ++++- .../main/res/layout-land/fragment_custom.xml | 3 +- .../{layout => layout-land}/item_contact.xml | 28 +++++---- .../main/res/layout-port/activity_contact.xml | 15 ++++- .../main/res/layout-port/fragment_custom.xml | 3 +- app/src/main/res/layout-port/item_contact.xml | 60 +++++++++++++++++++ settings.gradle | 2 +- 15 files changed, 256 insertions(+), 49 deletions(-) create mode 100644 app/src/main/java/com/uiui/aios/bean/EmergencyContact.java rename app/src/main/res/{layout => layout-land}/item_contact.xml (69%) create mode 100644 app/src/main/res/layout-port/item_contact.xml diff --git a/app/build.gradle b/app/build.gradle index ef6483a..2079e5e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,8 +16,8 @@ android { applicationId "com.uiui.aios" minSdkVersion 24 targetSdkVersion 29 - versionCode 32 - versionName "4.1" + versionCode 33 + versionName "4.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -186,7 +186,7 @@ dependencies { //高德地图定位 implementation 'com.amap.api:location:5.1.0' //MMKV - implementation 'com.tencent:mmkv-static:1.2.12' + implementation 'com.tencent:mmkv-static:1.2.14' implementation 'com.tencent.tpns:tpns:1.3.6.1-release' //状态栏透明 implementation 'com.gitee.zackratos:UltimateBarX:0.8.0' 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 index ff7c780..2b52863 100644 --- a/app/src/main/java/com/uiui/aios/activity/contact/ContactActivity.java +++ b/app/src/main/java/com/uiui/aios/activity/contact/ContactActivity.java @@ -1,5 +1,12 @@ package com.uiui.aios.activity.contact; +import android.content.res.Configuration; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import com.uiui.aios.R; @@ -11,10 +18,25 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; +import butterknife.OnClick; public class ContactActivity extends BaseActivity implements ContactContact.ContactView { @BindView(R.id.rv_contact) RecyclerView rv_contact; + @BindView(R.id.tv_people) + TextView tv_people; + @BindView(R.id.iv_back) + ImageView iv_back; + + @OnClick({R.id.iv_back}) + public void onClick(View view) { + switch (view.getId()) { + case R.id.iv_back: + finish(); + break; + default: + } + } private ContactPresenter mContactPresenter; private ContactAdapter mContactAdapter; @@ -31,6 +53,11 @@ public class ContactActivity extends BaseActivity implements ContactContact.Cont mContactPresenter.attachView(this); mContactPresenter.setLifecycle(lifecycleSubject); mContactAdapter = new ContactAdapter(); + if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { + rv_contact.setLayoutManager(new GridLayoutManager(this, 3)); + } else { + rv_contact.setLayoutManager(new GridLayoutManager(this, 2)); + } rv_contact.setAdapter(mContactAdapter); } @@ -41,6 +68,10 @@ public class ContactActivity extends BaseActivity implements ContactContact.Cont @Override public void setContact(List contactList) { - mContactAdapter.setContactList(contactList); + if (contactList != null) { + mContactAdapter.setContactList(contactList); + tv_people.setText(contactList.size() + "人"); + } + } } 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 b26193d..f496626 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 @@ -10,6 +10,7 @@ import com.trello.rxlifecycle4.RxLifecycle; import com.trello.rxlifecycle4.android.ActivityEvent; import com.uiui.aios.BuildConfig; import com.uiui.aios.bean.BaseResponse; +import com.uiui.aios.bean.EmergencyContact; import com.uiui.aios.bean.NetDesktopIcon; import com.uiui.aios.bean.Contact; import com.uiui.aios.network.NetInterfaceManager; @@ -59,7 +60,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 index 87967f4..3274cac 100644 --- a/app/src/main/java/com/uiui/aios/adapter/ContactAdapter.java +++ b/app/src/main/java/com/uiui/aios/adapter/ContactAdapter.java @@ -8,9 +8,11 @@ import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.constraintlayout.widget.ConstraintLayout; import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; +import com.shehuan.niv.NiceImageView; import com.uiui.aios.R; import com.uiui.aios.bean.Contact; @@ -35,9 +37,23 @@ public class ContactAdapter extends RecyclerView.Adapter 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 d65d03a..8df2b27 100644 --- a/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java +++ b/app/src/main/java/com/uiui/aios/fragment/CustomFragment.java @@ -13,12 +13,6 @@ import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.BatteryManager; import android.os.Bundle; - -import androidx.constraintlayout.widget.ConstraintLayout; -import androidx.fragment.app.Fragment; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - import android.os.Handler; import android.text.TextUtils; import android.util.Log; @@ -28,6 +22,11 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.amap.api.location.AMapLocation; import com.amap.api.location.AMapLocationListener; import com.blankj.utilcode.util.NetworkUtils; @@ -39,28 +38,28 @@ import com.qweather.sdk.bean.base.Unit; import com.qweather.sdk.bean.weather.WeatherHourlyBean; import com.qweather.sdk.bean.weather.WeatherNowBean; import com.qweather.sdk.view.QWeather; -import com.shehuan.niv.NiceImageView; import com.tencent.mmkv.MMKV; import com.uiui.aios.BuildConfig; 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.code.HealthCodeActivity; 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; +import com.uiui.aios.alarm.AlarmUtils; 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.Contact; +import com.uiui.aios.bean.EmergencyContact; +import com.uiui.aios.bean.HealthCode; import com.uiui.aios.bean.SnInfo; import com.uiui.aios.bean.UserAvatarInfo; import com.uiui.aios.dialog.SingleDialog; import com.uiui.aios.disklrucache.CacheHelper; import com.uiui.aios.manager.AmapManager; -import com.uiui.aios.alarm.AlarmUtils; import com.uiui.aios.network.NetInterfaceManager; import com.uiui.aios.network.URLAddress; import com.uiui.aios.tpush.MessageReceiver; @@ -136,7 +135,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt @BindView(R.id.iv_note_nodata) ImageView iv_note_nodata; @BindView(R.id.iv_head) - NiceImageView iv_head; + ImageView iv_head; @BindView(R.id.tv_name) TextView tv_name; @@ -398,7 +397,20 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt cl_shared_space.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - ToastUtil.show("此功能暂未上线"); + SingleDialog dialog = new SingleDialog(mContext); + dialog.setTitle("温馨提示") + .setMessage("此功能暂未上线") + .setPositive("确定") +// .setNegtive("拒绝") +// .setSingle(true) + + .setOnClickBottomListener(new SingleDialog.OnClickBottomListener() { + @Override + public void onPositiveClick() { + dialog.dismiss(); + } + }); + dialog.show(); } }); cl_health.setOnClickListener(new View.OnClickListener() { @@ -425,7 +437,7 @@ public class CustomFragment extends Fragment implements NetworkUtils.OnNetworkSt 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); 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 f8cf7d5..3f09e0c 100644 --- a/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java +++ b/app/src/main/java/com/uiui/aios/network/NetInterfaceManager.java @@ -15,11 +15,12 @@ import com.uiui.aios.bean.ActivityBean; import com.uiui.aios.bean.AlarmClockData; import com.uiui.aios.bean.ArticleInfo; import com.uiui.aios.bean.BaseResponse; +import com.uiui.aios.bean.Contact; import com.uiui.aios.bean.DemandBean; +import com.uiui.aios.bean.EmergencyContact; import com.uiui.aios.bean.GoodsInfo; import com.uiui.aios.bean.HealthCode; import com.uiui.aios.bean.NetDesktopIcon; -import com.uiui.aios.bean.Contact; import com.uiui.aios.bean.SnInfo; import com.uiui.aios.bean.SystemSettings; import com.uiui.aios.bean.UserAvatarInfo; @@ -54,6 +55,7 @@ import java.lang.reflect.Type; import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; import io.reactivex.rxjava3.annotations.NonNull; @@ -795,7 +797,7 @@ public class NetInterfaceManager { } public interface SosNumberCallback { - void setSosNumber(List setting_sos); + void setSosNumber(List setting_sos); void setEmpty(); @@ -816,9 +818,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 { @@ -860,12 +862,13 @@ 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(); } else { - mCacheHelper.put(URLAddress.GET_SETTINGS, GsonUtils.toJsonString(setting_sos)); + List contactList = setting_sos.stream().filter(contact -> contact.getIs_urgent() == 1).collect(Collectors.toList()); + mCacheHelper.put(URLAddress.GET_SETTINGS, GsonUtils.toJsonString(contactList)); if (callback != null) callback.setSosNumber(setting_sos); } } else { @@ -883,9 +886,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 { diff --git a/app/src/main/res/layout-land/activity_contact.xml b/app/src/main/res/layout-land/activity_contact.xml index d66bab7..cbad6ac 100644 --- a/app/src/main/res/layout-land/activity_contact.xml +++ b/app/src/main/res/layout-land/activity_contact.xml @@ -32,10 +32,22 @@ android:layout_marginStart="12dp" android:text="通讯录" android:textColor="@color/white" - android:textSize="24sp" + android:textSize="@dimen/sp_18" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@+id/iv_back" app:layout_constraintTop_toTopOf="parent" /> + + - + android:layout_height="wrap_content"> - @@ -40,12 +46,12 @@ android:id="@+id/tv_phone" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="@dimen/dp_36" + android:layout_marginStart="@dimen/dp_4" android:maxLines="1" android:singleLine="true" android:text="phone" android:textColor="@color/white" - android:textSize="@dimen/sp_20" + android:textSize="@dimen/sp_15" app:layout_constraintBottom_toBottomOf="@+id/iv_head" app:layout_constraintStart_toEndOf="@+id/iv_head" /> diff --git a/app/src/main/res/layout-port/activity_contact.xml b/app/src/main/res/layout-port/activity_contact.xml index d66bab7..910a4d6 100644 --- a/app/src/main/res/layout-port/activity_contact.xml +++ b/app/src/main/res/layout-port/activity_contact.xml @@ -32,10 +32,23 @@ android:layout_marginStart="12dp" android:text="通讯录" android:textColor="@color/white" - android:textSize="24sp" + android:textSize="@dimen/sp_18" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@+id/iv_back" app:layout_constraintTop_toTopOf="parent" /> + + - + + + + + + + + + + + + + \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index a42428e..f77e167 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,2 @@ include ':app', ':niceimageview' -rootProject.name='UIUI老人平板桌面' \ No newline at end of file +rootProject.name='老人OS系统' \ No newline at end of file