fix NullPointerException
复现方法: 添加两个订阅A, B -> 选择A中任意节点并启动 -> 删除A订阅, 选中B订阅中任意节点启动 -> crash 09-09 10:53:50.355 18739 18739 D AndroidRuntime: Shutting down VM 09-09 10:53:50.356 18739 18739 E AndroidRuntime: FATAL EXCEPTION: main 09-09 10:53:50.356 18739 18739 E AndroidRuntime: Process: com.v2ray.ang, PID: 18739 09-09 10:53:50.356 18739 18739 E AndroidRuntime: java.lang.NullPointerException 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at com.v2ray.ang.ui.MainRecyclerAdapter.onBindViewHolder$lambda-6(MainRecyclerAdapter.kt:156) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at com.v2ray.ang.ui.MainRecyclerAdapter.$r8$lambda$VmDbsAxtrWNiVtS0BmO3UDui2o4(Unknown Source:0) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at com.v2ray.ang.ui.MainRecyclerAdapter$$ExternalSyntheticLambda2.onClick(Unknown Source:4) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at android.view.View.performClick(View.java:6597) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at android.view.View.performClickInternal(View.java:6574) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at android.view.View.access$3100(View.java:778) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at android.view.View$PerformClick.run(View.java:25906) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:873) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6718) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491) 09-09 10:53:50.356 18739 18739 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Signed-off-by: zhaoguomanong <zhaoguomanong@gmail.com>
This commit is contained in:
@@ -2,6 +2,7 @@ package com.v2ray.ang.ui
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.Color
|
||||
import android.text.TextUtils
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import android.view.LayoutInflater
|
||||
@@ -153,7 +154,9 @@ class MainRecyclerAdapter(val activity: MainActivity) : RecyclerView.Adapter<Mai
|
||||
val selected = mainStorage?.decodeString(MmkvManager.KEY_SELECTED_SERVER)
|
||||
if (guid != selected) {
|
||||
mainStorage?.encode(MmkvManager.KEY_SELECTED_SERVER, guid)
|
||||
notifyItemChanged(mActivity.mainViewModel.getPosition(selected!!))
|
||||
if (!TextUtils.isEmpty(selected)) {
|
||||
notifyItemChanged(mActivity.mainViewModel.getPosition(selected!!))
|
||||
}
|
||||
notifyItemChanged(mActivity.mainViewModel.getPosition(guid))
|
||||
if (isRunning) {
|
||||
mActivity.showCircle()
|
||||
|
||||
Reference in New Issue
Block a user