diff --git a/app/src/main/java/com/kanglai/push/ui/fragment/LinkFragment.java b/app/src/main/java/com/kanglai/push/ui/fragment/LinkFragment.java index 5a70a32..a026252 100644 --- a/app/src/main/java/com/kanglai/push/ui/fragment/LinkFragment.java +++ b/app/src/main/java/com/kanglai/push/ui/fragment/LinkFragment.java @@ -55,8 +55,11 @@ public class LinkFragment extends BaseFragment() { @Override public void onItemClick(View v, int currentPosition, MenuEntity entity) { + if (!isSkip) return; + isSkip = false; /** 头部菜单点击事件 */ - switch (currentPosition){ + switch (currentPosition) { case 0: startActivity(FindUsersActivity.class); // 关注对象 break; @@ -125,6 +130,8 @@ public class LinkFragment extends BaseFragment() { @Override public void onItemClick(View v, int originalPosition, int currentPosition, ConcernFan entity) { + if (!isSkip) return; + isSkip = false; /** 点击详情 */ Intent intent = new Intent(getActivity(), LinkDetailActivity.class); intent.putExtra(CommonConstant.USER_LINK_ID, entity.getId()); @@ -200,4 +207,10 @@ public class LinkFragment extends BaseFragment() { @Override public LocalPushChatMsg parseResult(int resultCode, @Nullable Intent intent) { diff --git a/app/src/main/java/com/kanglai/push/ui/vm/InstantViewModel.java b/app/src/main/java/com/kanglai/push/ui/vm/InstantViewModel.java index cc1f920..18112aa 100644 --- a/app/src/main/java/com/kanglai/push/ui/vm/InstantViewModel.java +++ b/app/src/main/java/com/kanglai/push/ui/vm/InstantViewModel.java @@ -143,6 +143,7 @@ public class InstantViewModel extends ToolbarViewModel{ }); }); + /** 聊天记录初始化 */ public void initData(RefreshLayout refresh) { pushService.listFriendHistoryMessage( MapUtils.newHashMap( @@ -176,6 +177,7 @@ public class InstantViewModel extends ToolbarViewModel{ }); } + /** 加载更多历史记录 */ public void loadMore(RefreshLayout layout) { pushService.listFriendHistoryMessage( MapUtils.newHashMap( diff --git a/app/src/main/java/com/kanglai/push/ui/vm/MessageViewModel.java b/app/src/main/java/com/kanglai/push/ui/vm/MessageViewModel.java index 48f2046..8656858 100644 --- a/app/src/main/java/com/kanglai/push/ui/vm/MessageViewModel.java +++ b/app/src/main/java/com/kanglai/push/ui/vm/MessageViewModel.java @@ -56,7 +56,7 @@ public class MessageViewModel extends ToolbarViewModel { super.onCreate(owner); } - + /** 核心 - 刷新数据 */ public void refresh(RefreshLayout refresh) { Map localHistoryMsg = HistoryMsgUtil.select(); if (localHistoryMsg != null && !localHistoryMsg.isEmpty()) { @@ -66,7 +66,7 @@ public class MessageViewModel extends ToolbarViewModel { refresh.finishRefresh(); } - + /** 加载新的缓存消息记录 */ public void addLocalHistoryMsg(String userId, String content) { pushService.getUserById(userId) .compose(RxUtil.schedulersTransformer()) diff --git a/app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java b/app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java index 76f216e..5635f98 100644 --- a/app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java +++ b/app/src/main/java/com/kanglai/push/util/HistoryMsgUtil.java @@ -14,17 +14,33 @@ import java.util.Objects; import lombok.experimental.UtilityClass; +/** + * 聊天页 本地缓存 记录工具类 + * + * 查询缓存的键名: userid + type + * + * + * @Author: liusixiang007 + * @since: 2024/1/11 + */ @UtilityClass public class HistoryMsgUtil { private User user = CacheDiskUtils.getInstance().getParcelable(CacheConstant.USER_INFO, User.CREATOR, new User()); + /** 获取缓存的列表数据 */ public HashMap select() { String localHistoryMsgJson = CacheDiskUtils.getInstance().getString(user.getId().concat(user.getUserType()) ,""); Type type = new TypeToken>(){}.getType(); return new Gson().fromJson(localHistoryMsgJson, type); } + /** + * 更新缓存数据 + * + * @param key 对应用户id + * @param value 需要更新的值 + */ public void put(String key,LocalPushChatMsg value) { Objects.requireNonNull(key); String localHistoryMsgJson = CacheDiskUtils.getInstance().getString(user.getId().concat(user.getUserType()) ,""); @@ -35,6 +51,11 @@ public class HistoryMsgUtil { CacheDiskUtils.getInstance().put(user.getId().concat(user.getUserType()), newLocalHistoryMsgJson); } + /** + * 更具id删除指定的缓存数据 + * + * @param key + */ public void del(String key){ Objects.requireNonNull(key); String localHistoryMsgJson = CacheDiskUtils.getInstance().getString(user.getId().concat(user.getUserType()) ,""); @@ -45,6 +66,7 @@ public class HistoryMsgUtil { CacheDiskUtils.getInstance().put(user.getId().concat(user.getUserType()), newLocalHistoryMsgJson); } + /** 清空聊天记录 */ public void clean() { CacheDiskUtils.getInstance().remove(user.getId().concat(user.getUserType())); } diff --git a/library/umeng/src/main/java/com/dolphin/umeng/UmengClient.java b/library/umeng/src/main/java/com/dolphin/umeng/UmengClient.java index 23e1ef0..6df98dc 100644 --- a/library/umeng/src/main/java/com/dolphin/umeng/UmengClient.java +++ b/library/umeng/src/main/java/com/dolphin/umeng/UmengClient.java @@ -6,17 +6,14 @@ import android.app.Notification; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; -import android.media.MediaPlayer; -import android.net.Uri; -import android.os.PowerManager; -import android.text.TextUtils; +import android.hardware.camera2.CameraAccessException; +import android.hardware.camera2.CameraManager; import android.util.Patterns; import android.widget.RemoteViews; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.blankj.utilcode.util.FlashlightUtils; import com.blankj.utilcode.util.LogUtils; import com.blankj.utilcode.util.StringUtils; import com.blankj.utilcode.util.ThreadUtils; @@ -175,11 +172,18 @@ public final class UmengClient { if (pushChatMessage.getPlayVibrate()) VibrateUtils.vibrate(800); if (pushChatMessage.getPlayLights()) { - FlashlightUtils.setFlashlightStatus(true); + CameraManager cameraManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE); + try { + String cameraId = cameraManager.getCameraIdList()[0]; + cameraManager.setTorchMode(cameraId, true); + } catch (CameraAccessException e) {} ThreadUtils.executeBySingleWithDelay(new Utils.Task(result -> {}) { @Override public Void doInBackground() { - FlashlightUtils.setFlashlightStatus(false); + try { + String cameraId = cameraManager.getCameraIdList()[0]; + cameraManager.setTorchMode(cameraId, false); + } catch (CameraAccessException e) {} return null; }