Browse Source

关于app 优化更新界面内容 / 定位广播调用优化

master
LiuSiXiang-007 1 year ago
parent
commit
3f61e241cb
  1. 5
      app/src/main/java/com/kanglai/push/ui/activity/AboutActivity.java
  2. 23
      app/src/main/java/com/kanglai/push/ui/adapter/PanelRecyclerAdapter.java
  3. 20
      app/src/main/java/com/kanglai/push/ui/fragment/UserFragment.java
  4. 30
      app/src/main/java/com/kanglai/push/ui/vm/AboutViewModel.java
  5. 2
      app/src/main/java/com/kanglai/push/ui/vm/LoginViewModel.java
  6. 3
      app/src/main/java/com/kanglai/push/util/AlarmReceiver.java
  7. 67
      app/src/main/res/layout/activity_about.xml
  8. 2
      library/core/src/main/res/values/strings.xml

5
app/src/main/java/com/kanglai/push/ui/activity/AboutActivity.java

@ -13,13 +13,14 @@ import com.kanglai.push.ui.vm.AboutViewModel;
/** /**
*<p> *<p>
* 关于 * 关于app
*</p> *</p>
* *
* @Author: wangxiang4 * @Author: wangxiang4
* @since: 2022/10/24 * @since: 2022/10/24
*/ */
public class AboutActivity extends BaseActivity<ActivityAboutBinding, AboutViewModel> { public class AboutActivity extends BaseActivity<ActivityAboutBinding, AboutViewModel>{
@Override @Override
public int setContentView(Bundle savedInstanceState) { public int setContentView(Bundle savedInstanceState) {
return R.layout.activity_about; return R.layout.activity_about;

23
app/src/main/java/com/kanglai/push/ui/adapter/UserRecyclerAdapter.java → app/src/main/java/com/kanglai/push/ui/adapter/PanelRecyclerAdapter.java

@ -11,15 +11,16 @@ import lombok.experimental.Accessors;
/** /**
*<p> *<p>
* 我的回收列表数据适配器 * 面板回收列表数据适配器
* 个人页头像下方的列表
*</p> *</p>
* *
* @Author: wangxiang4 * @Author: wangxiang4
* @since: 2023/1/31 * @since: 2023/1/31
*/ */
public class UserRecyclerAdapter extends DefaultRecyclerAdapter { public class PanelRecyclerAdapter extends DefaultRecyclerAdapter {
private List<UserEntity> mItemList; private List<PanelEntity> mItemList;
private EventListener mEventListener; private EventListener mEventListener;
@ -27,7 +28,7 @@ public class UserRecyclerAdapter extends DefaultRecyclerAdapter {
@Accessors @Accessors
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public static class UserEntity { public static class PanelEntity {
public String code; public String code;
@ -46,21 +47,21 @@ public class UserRecyclerAdapter extends DefaultRecyclerAdapter {
public Boolean hidesLeftImage; public Boolean hidesLeftImage;
} }
public UserRecyclerAdapter(List<UserEntity> mItemList){ public PanelRecyclerAdapter(List<PanelEntity> mItemList){
this.mItemList = mItemList; this.mItemList = mItemList;
} }
public UserRecyclerAdapter(List<UserEntity> mItemList, Boolean hidesDisclosure) { public PanelRecyclerAdapter(List<PanelEntity> mItemList, Boolean hidesDisclosure) {
super(null, null, hidesDisclosure, null); super(null, null, hidesDisclosure, null);
this.mItemList = mItemList; this.mItemList = mItemList;
} }
public UserRecyclerAdapter(List<UserEntity> mItemList, Boolean hidesDisclosure, Boolean hidesLeftImage) { public PanelRecyclerAdapter(List<PanelEntity> mItemList, Boolean hidesDisclosure, Boolean hidesLeftImage) {
super(null, null, hidesDisclosure, hidesLeftImage); super(null, null, hidesDisclosure, hidesLeftImage);
this.mItemList = mItemList; this.mItemList = mItemList;
} }
public UserRecyclerAdapter(List<UserEntity> mItemList, public PanelRecyclerAdapter(List<PanelEntity> mItemList,
Integer defaultImage, Integer defaultImage,
Integer defaultBadge, Integer defaultBadge,
Boolean hidesDisclosure, Boolean hidesDisclosure,
@ -71,7 +72,7 @@ public class UserRecyclerAdapter extends DefaultRecyclerAdapter {
public interface EventListener { public interface EventListener {
void onItemViewClicked(UserEntity userEntity); void onItemViewClicked(PanelEntity userEntity);
} }
@ -83,7 +84,7 @@ public class UserRecyclerAdapter extends DefaultRecyclerAdapter {
@Override @Override
public void onBindViewHolder(final ViewHolder viewHolder, final int position) { public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
super.onBindViewHolder(viewHolder, position); super.onBindViewHolder(viewHolder, position);
final UserEntity item = mItemList.get(position); final PanelEntity item = mItemList.get(position);
viewHolder.layoutContent.setOnClickListener(view -> onItemViewClick(item)); viewHolder.layoutContent.setOnClickListener(view -> onItemViewClick(item));
viewHolder.titleLabel.setText(item.title); viewHolder.titleLabel.setText(item.title);
viewHolder.detailLabel.setText(item.detail); viewHolder.detailLabel.setText(item.detail);
@ -102,7 +103,7 @@ public class UserRecyclerAdapter extends DefaultRecyclerAdapter {
} }
} }
private void onItemViewClick(UserEntity userEntity) { private void onItemViewClick(PanelEntity userEntity) {
if (mEventListener != null && ObjectUtils.isNotEmpty(mItemList)) { if (mEventListener != null && ObjectUtils.isNotEmpty(mItemList)) {
mEventListener.onItemViewClicked(userEntity); mEventListener.onItemViewClicked(userEntity);
} }

20
app/src/main/java/com/kanglai/push/ui/fragment/UserFragment.java

@ -28,7 +28,7 @@ import com.kanglai.push.databinding.FragmentUserBinding;
import com.kanglai.push.entity.User; import com.kanglai.push.entity.User;
import com.kanglai.push.util.LocationService; import com.kanglai.push.util.LocationService;
import com.kanglai.push.ui.activity.AboutActivity; import com.kanglai.push.ui.activity.AboutActivity;
import com.kanglai.push.ui.adapter.UserRecyclerAdapter; import com.kanglai.push.ui.adapter.PanelRecyclerAdapter;
import com.kanglai.push.ui.vm.UserViewModel; import com.kanglai.push.ui.vm.UserViewModel;
import com.kongzue.dialogx.DialogX; import com.kongzue.dialogx.DialogX;
import com.kongzue.dialogx.dialogs.MessageDialog; import com.kongzue.dialogx.dialogs.MessageDialog;
@ -38,16 +38,16 @@ import java.util.List;
/** /**
*<p> *<p>
* 我的 * 我的碎片页
*</p> *</p>
* *
* @Author: entfrm开发团队-王翔 * @Author: entfrm开发团队-王翔
* @Date: 2022/7/15 * @Date: 2022/7/15
*/ */
public class UserFragment extends BaseFragment<FragmentUserBinding, UserViewModel> implements UserRecyclerAdapter.EventListener { public class UserFragment extends BaseFragment<FragmentUserBinding, UserViewModel> implements PanelRecyclerAdapter.EventListener {
private RecyclerView mRecyclerView; private RecyclerView mRecyclerView;
private UserRecyclerAdapter mAdapter; private PanelRecyclerAdapter mAdapter;
public ImageView avatar; public ImageView avatar;
@ -77,12 +77,12 @@ public class UserFragment extends BaseFragment<FragmentUserBinding, UserViewMode
toolbarBack.setVisibility(View.INVISIBLE); toolbarBack.setVisibility(View.INVISIBLE);
mRecyclerView = getView().findViewById(R.id.recycler_view); mRecyclerView = getView().findViewById(R.id.recycler_view);
// 设置列表 // 设置列表
List<UserRecyclerAdapter.UserEntity> list = CollectionUtils.newArrayList( List<PanelRecyclerAdapter.PanelEntity> list = CollectionUtils.newArrayList(
new UserRecyclerAdapter.UserEntity().setCode("1").setTitle("关闭定位服务").setBadge(0).setImage(R.drawable.icon_about).setHidesLeftImage(true), new PanelRecyclerAdapter.PanelEntity().setCode("1").setTitle("关闭定位服务").setBadge(0).setImage(R.drawable.icon_about).setHidesLeftImage(true),
new UserRecyclerAdapter.UserEntity().setCode("2").setTitle("关于我们").setBadge(0).setImage(R.drawable.icon_about).setHidesLeftImage(true), new PanelRecyclerAdapter.PanelEntity().setCode("2").setTitle("关于我们").setBadge(0).setImage(R.drawable.icon_about).setHidesLeftImage(true),
new UserRecyclerAdapter.UserEntity().setCode("3").setTitle("退出登录").setBadge(0).setImage(R.drawable.icon_exit).setHidesLeftImage(true) new PanelRecyclerAdapter.PanelEntity().setCode("3").setTitle("退出登录").setBadge(0).setImage(R.drawable.icon_exit).setHidesLeftImage(true)
); );
final UserRecyclerAdapter userRecyclerAdapter = new UserRecyclerAdapter(list); final PanelRecyclerAdapter userRecyclerAdapter = new PanelRecyclerAdapter(list);
userRecyclerAdapter.setEventListener(this); userRecyclerAdapter.setEventListener(this);
mAdapter = userRecyclerAdapter; mAdapter = userRecyclerAdapter;
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity()); RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
@ -102,7 +102,7 @@ public class UserFragment extends BaseFragment<FragmentUserBinding, UserViewMode
} }
@Override @Override
public void onItemViewClicked(UserRecyclerAdapter.UserEntity userEntity) { public void onItemViewClicked(PanelRecyclerAdapter.PanelEntity userEntity) {
/** 列表点击事件 */ /** 列表点击事件 */
switch (userEntity.code) { switch (userEntity.code) {
case "1": // todo: 暂未定义内容 后续可用来测试 case "1": // todo: 暂未定义内容 后续可用来测试

30
app/src/main/java/com/kanglai/push/ui/vm/AboutViewModel.java

@ -1,13 +1,19 @@
package com.kanglai.push.ui.vm; package com.kanglai.push.ui.vm;
import android.app.Application; import android.app.Application;
import android.os.Bundle;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.databinding.ObservableField;
import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LifecycleOwner;
import com.dolphin.core.binding.command.BindingCommand;
import com.kanglai.push.R;
import com.kanglai.push.ui.activity.DocumentActivity;
/** /**
*<p> *<p>
* 关于 * 关于APP
*</p> *</p>
* *
* @Author: wangxiang4 * @Author: wangxiang4
@ -15,6 +21,13 @@ import androidx.lifecycle.LifecycleOwner;
*/ */
public class AboutViewModel extends ToolbarViewModel { public class AboutViewModel extends ToolbarViewModel {
public ObservableField<String> document01 = new ObservableField("《友信APP客户端用户协议手册》"); // 用户协议
public ObservableField<String> document02 = new ObservableField("《友信APP客户端隐私保护指引》"); // 用户协议
/** 底部文字 */
public ObservableField<String> tit01 = new ObservableField("客服热线 400-1512-686");
public ObservableField<String> tit02 = new ObservableField("©2023-2024 康来生物科技有限公司 版权所有 — All Rights Reserved");
public ObservableField<String> tit03 = new ObservableField("大家的支持是我们工作的动力");
public AboutViewModel(@NonNull Application application) { public AboutViewModel(@NonNull Application application) {
super(application); super(application);
} }
@ -22,7 +35,20 @@ public class AboutViewModel extends ToolbarViewModel {
@Override @Override
public void onCreate(@NonNull LifecycleOwner owner) { public void onCreate(@NonNull LifecycleOwner owner) {
super.onCreate(owner); super.onCreate(owner);
super.setTitleText("关于"); super.setTitleText("关于"+ R.string.app_name);
} }
public BindingCommand document01ClickCommand = new BindingCommand(() -> { // 用户手册
Bundle bundle = new Bundle();
bundle.putString("DOCUMENT_TYPE", "0");
startActivity(DocumentActivity.class, bundle);
});
public BindingCommand document02ClickCommand = new BindingCommand(() -> { // 隐私政策
Bundle bundle = new Bundle();
bundle.putString("DOCUMENT_TYPE", "1");
startActivity(DocumentActivity.class, bundle);
});
} }

2
app/src/main/java/com/kanglai/push/ui/vm/LoginViewModel.java

@ -64,7 +64,7 @@ public class LoginViewModel extends BaseViewModel<LoginActivity> {
public ObservableField<String> username = new ObservableField(""); public ObservableField<String> username = new ObservableField("");
/** 用户密码 */ /** 用户密码 */
public ObservableField<String> password = new ObservableField("123456"); // public ObservableField<String> password = new ObservableField("123456");
/** 电话号码 */ /** 电话号码 */
public ObservableField<String> phones = new ObservableField(""); public ObservableField<String> phones = new ObservableField("");

3
app/src/main/java/com/kanglai/push/util/AlarmReceiver.java

@ -57,7 +57,8 @@ public class AlarmReceiver extends BroadcastReceiver implements AMapLocationList
LogUtils.i("--------------------------------AlarmReceiver---------------------------------------"); LogUtils.i("--------------------------------AlarmReceiver---------------------------------------");
/** 上传之前需要判断一次用户登录状态 即 id 时候存在 */ /** 上传之前需要判断一次用户登录状态 即 id 时候存在 */
locationConfigure(HistoryMsgUtil.noneId(),context); locationConfigure(!HistoryMsgUtil.noneId(),context);
// locationConfigure(true,context);
} }
/** 获取定位数据 */ /** 获取定位数据 */

67
app/src/main/res/layout/activity_about.xml

@ -16,17 +16,23 @@
layout="@layout/layout_toolbar" layout="@layout/layout_toolbar"
binding:toolbarViewModel="@{viewModel.toolbarViewModel}" /> binding:toolbarViewModel="@{viewModel.toolbarViewModel}" />
<ImageView <!-- app logo -->
<LinearLayout
android:gravity="bottom|center"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="2" android:layout_weight="1">
android:padding="@dimen/dp_30" <ImageView
android:layout_width="@dimen/dp_96"
android:layout_height="@dimen/dp_96"
android:layout_centerInParent="true"
android:src="@drawable/icon_app" /> android:src="@drawable/icon_app" />
</LinearLayout>
<!-- app名字 版本号 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="wrap_content"
android:layout_weight="3"
android:gravity="center|top" android:gravity="center|top"
android:orientation="vertical"> android:orientation="vertical">
@ -35,39 +41,70 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/app_name" android:text="@string/app_name"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="24dp" android:textSize="@dimen/dp_26"
android:letterSpacing="0.1"
android:textStyle="bold" /> android:textStyle="bold" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="5dp" android:letterSpacing="0.1"
android:text="@string/app_version" android:text="@string/app_version"
android:textColor="@color/black" android:textColor="@color/black40"
android:textSize="18dp" /> android:textSize="@dimen/dp_12" />
</LinearLayout> </LinearLayout>
<!-- 用户协议、隐私政策、软件更新 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:gravity="center|bottom"
android:orientation="vertical">
<TextView
android:padding="@dimen/dp_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{viewModel.document01}"
binding:onClickCommand="@{viewModel.document01ClickCommand}"
android:textColor="@color/black40"
android:textSize="@dimen/dp_10" />
<TextView
android:padding="@dimen/dp_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{viewModel.document02}"
binding:onClickCommand="@{viewModel.document02ClickCommand}"
android:textColor="#576B95"
android:textSize="@dimen/dp_12" />
</LinearLayout>
<!-- 底部说明 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center|bottom" android:gravity="center|bottom"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="1dp" android:layout_marginBottom="1dp"
android:text="©2023-2023 康来生物科技有限公司 版权所有 — All Rights Reserved" android:text="@{viewModel.tit01}"
android:textColor="@color/black40"
android:textSize="@dimen/dp_10" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:text="@{viewModel.tit02}"
android:textColor="@color/black40" android:textColor="@color/black40"
android:textSize="10dp" /> android:textSize="@dimen/dp_10" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="6dp" android:layout_margin="6dp"
android:text="大家的支持是我们工作的动力" android:text="@{viewModel.tit03}"
android:textColor="@color/black40" android:textColor="@color/black40"
android:textSize="10dp" /> android:textSize="@dimen/dp_10" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</layout> </layout>

2
library/core/src/main/res/values/strings.xml

@ -1,6 +1,6 @@
<resources> <resources>
<string name="app_name">友信</string> <string name="app_name">友信</string>
<string name="app_version">exploit-1.0.1</string> <string name="app_version">Version 1.0.1</string>
<string name="app_channel">kanglai-push</string> <string name="app_channel">kanglai-push</string>
<string name="crash_error_activity_error_occurred_explanation">发生意外错误。\n抱歉,给您带来不便。</string> <string name="crash_error_activity_error_occurred_explanation">发生意外错误。\n抱歉,给您带来不便。</string>
<string name="crash_error_activity_restart_app">重新启动</string> <string name="crash_error_activity_restart_app">重新启动</string>

Loading…
Cancel
Save