Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash occurs while canceling and re-searching #21

Open
onos1 opened this issue May 12, 2018 · 1 comment
Open

Crash occurs while canceling and re-searching #21

onos1 opened this issue May 12, 2018 · 1 comment
Assignees
Labels

Comments

@onos1
Copy link

onos1 commented May 12, 2018

How to reproduce

  • after typing a word to search
  • click the search and and click an empty space to cancel
  • if search is clicked again, the app crashes after result is displayed.

Logcat

05-12 08:11:34.251 17903 17903 E AndroidRuntime: FATAL EXCEPTION: main 05-12 08:11:34.251 17903 17903 E AndroidRuntime: Process: com.android.systemui, PID: 17903 05-12 08:11:34.251 17903 17903 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.android.systemui.statusbar.notification.HybridNotificationView.getHeight()' on a null object reference 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.stack.NotificationChildrenContainer.getMinHeight(NotificationChildrenContainer.java:812) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.stack.NotificationChildrenContainer.getCollapsedHeight(NotificationChildrenContainer.java:794) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.ExpandableNotificationRow.getCollapsedHeight(ExpandableNotificationRow.java:1522) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.ExpandableNotificationRow.getIntrinsicHeight(ExpandableNotificationRow.java:1236) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.NotificationContentView.calculateVisibleType(NotificationContentView.java:841) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.NotificationContentView.updateExpandButtons(NotificationContentView.java:1104) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.ExpandableNotificationRow.onChildrenCountChanged(ExpandableNotificationRow.java:1252) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.ExpandableNotificationRow.addChildNotification(ExpandableNotificationRow.java:373) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.phone.PhoneStatusBar.addNotificationChildrenAndSort(PhoneStatusBar.java:2550) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.phone.PhoneStatusBar.updateNotificationShade(PhoneStatusBar.java:2484) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.phone.PhoneStatusBar.updateNotifications(PhoneStatusBar.java:2669) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.BaseStatusBar.addNotificationViews(BaseStatusBar.java:2411) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.phone.PhoneStatusBar.addNotification(PhoneStatusBar.java:2230) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.systemui.statusbar.BaseStatusBar$7$2.run(BaseStatusBar.java:687) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:836) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:103) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at android.os.Looper.loop(Looper.java:203) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6251) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1073) 05-12 08:11:34.251 17903 17903 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:934) 05-12 08:11:34.476 914 1089 E ConnectivityService: RemoteException caught trying to send a callback msg for NetworkRequest [ id=283, legacyType=-1, [] ] 05-12 08:12:56.470 914 1649 E ActivityManager: applyOptionsLocked: Unknown animationType=0 05-12 08:13:06.172 914 996 E BatteryStatsService: no controller energy info supplied 05-12 08:13:06.172 914 996 E BatteryStatsService: no controller energy info supplied 05-12 08:13:06.197 914 996 E BatteryStatsService: modem info is invalid: ModemActivityInfo{ mTimestamp=0 mSleepTimeMs=0 mIdleTimeMs=0 mTxTimeMs[]=[0, 0, 0, 0, 0] mRxTimeMs=0 mEnergyUsed=0} 05-12 08:13:22.607 914 24553 E ActivityManager: applyOptionsLocked: Unknown animationType=0 05-12 08:14:42.240 914 1089 E ConnectivityService: RemoteException caught trying to send a callback msg for NetworkRequest [ id=346, legacyType=-1, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED] ] 05-12 08:14:42.246 914 1089 E ConnectivityService: RemoteException caught trying to send a callback msg for NetworkRequest [ id=344, legacyType=-1, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED] ] 05-12 08:14:42.263 914 994 E NetdConnector: NDC Command {8443 firewall set_uid_rule dozable 10156 allow} took too long (649ms) 05-12 08:16:58.905 914 1764 E ActivityManager: getContentProviderImpl: Update provider ProcessRecord{f4323a9 914:system/1000} conProviers's adj. conProviders.provider.proc = ProcessRecord{5394b88 26939:android.process.acore/u0a1} stableCount = 1 05-12 08:16:59.025 914 1492 E Telecom : CallAudioRouteStateMachine: Unexpected message code: ICA.sAR->CARSM.pM_USER_SWITCH_EARPIECE@EsY_0 05-12 08:16:59.025 914 1492 E Telecom : java.lang.IllegalStateException 05-12 08:16:59.025 914 1492 E Telecom : at com.android.server.telecom.CallAudioRouteStateMachine.unhandledMessage(CallAudioRouteStateMachine.java:1094) 05-12 08:16:59.025 914 1492 E Telecom : at com.android.internal.util.StateMachine$SmHandler.processMsg(StateMachine.java:989) 05-12 08:16:59.025 914 1492 E Telecom : at com.android.internal.util.StateMachine$SmHandler.handleMessage(StateMachine.java:799) 05-12 08:16:59.025 914 1492 E Telecom : at android.os.Handler.dispatchMessage(Handler.java:110) 05-12 08:16:59.025 914 1492 E Telecom : at android.os.Looper.loop(Looper.java:203) 05-12 08:16:59.025 914 1492 E Telecom : at android.os.HandlerThread.run(HandlerThread.java:61) 05-12 08:17:38.324 914 1089 E ConnectivityService: RemoteException caught trying to send a callback msg for NetworkRequest [ id=347, legacyType=-1, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED] ] 05-12 08:18:14.437 914 4443 E ActivityManager: applyOptionsLocked: Unknown animationType=0 05-12 08:18:41.284 914 996 E BatteryStatsService: no controller energy info supplied 05-12 08:18:41.284 914 996 E BatteryStatsService: no controller energy info supplied 05-12 08:18:41.328 914 996 E BatteryStatsService: modem info is invalid: ModemActivityInfo{ mTimestamp=0 mSleepTimeMs=0 mIdleTimeMs=0 mTxTimeMs[]=[0, 0, 0, 0, 0] mRxTimeMs=0 mEnergyUsed=0} 05-12 08:20:26.555 914 3510 E ActivityManager: applyOptionsLocked: Unknown animationType=0 05-12 08:22:26.508 914 25453 E ActivityManager: applyOptionsLocked: Unknown animationType=0 05-12 08:22:52.140 914 1089 E ConnectivityService: RemoteException caught trying to send a callback msg for NetworkRequest [ id=348, legacyType=-1, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED] ] 05-12 08:22:52.239 914 995 E libprocessgroup: failed to kill 1 processes for processgroup 2807 05-12 08:23:35.788 914 3193 E NotificationService: Package enqueue rate is 10.233823. Shedding events. package=com.whatsapp 05-12 08:24:27.188 914 996 E BatteryStatsService: no controller energy info supplied 05-12 08:24:27.188 914 996 E BatteryStatsService: no controller energy info supplied 05-12 08:24:27.218 914 996 E BatteryStatsService: modem info is invalid: ModemActivityInfo{ mTimestamp=0 mSleepTimeMs=0 mIdleTimeMs=0 mTxTimeMs[]=[0, 0, 0, 0, 0] mRxTimeMs=0 mEnergyUsed=0} 05-12 08:24:41.046 914 4449 E NotificationService: Package enqueue rate is 10.819949. Shedding events. package=com.whatsapp 05-12 08:25:29.835 914 996 E BatteryStatsService: no controller energy info supplied 05-12 08:25:29.835 914 996 E BatteryStatsService: no controller energy info supplied 05-12 08:25:30.450 914 996 E BatteryStatsService: modem info is invalid: ModemActivityInfo{ mTimestamp=0 mSleepTimeMs=0 mIdleTimeMs=0 mTxTimeMs[]=[0, 0, 0, 0, 0] mRxTimeMs=0 mEnergyUsed=0} 05-12 08:26:36.798 914 2102 E NotificationService: Package enqueue rate is 10.691525. Shedding events. package=com.whatsapp 05-12 08:27:24.123 914 995 E libprocessgroup: failed to kill 1 processes for processgroup 4694 05-12 08:27:58.415 914 996 E BatteryStatsService: no controller energy info supplied 05-12 08:27:58.415 914 996 E BatteryStatsService: no controller energy info supplied 05-12 08:27:58.466 914 996 E BatteryStatsService: modem info is invalid: ModemActivityInfo{ mTimestamp=0 mSleepTimeMs=0 mIdleTimeMs=0 mTxTimeMs[]=[0, 0, 0, 0, 0] mRxTimeMs=0 mEnergyUsed=0}

Video

https://youtu.be/Ac6-uqQqCjM

@dnet dnet self-assigned this May 12, 2018
@dnet dnet added the bug label May 12, 2018
@dnet
Copy link
Owner

dnet commented May 12, 2018

It's a bit similar to #20, you don't actually cancel the search by tapping outside the ProgressDialog -- although the dialog (as implemented by the Android framework) reacts to such taps by hiding itself, the search is still happening, so one of the searches will find itself in a bad situation. The first one to finish will launch the intent to open the PartList Activity, while the second will find itself in an awkward place.

I guess both this and #20 could be fixed by moving network operations (search and download) to services or something like that and reacting to user inputs (direct like cancelling and indirect like orientation change in #20) properly. Also, like #20, since it's a bit of an edge case and not trivial to fix, I can't say when I'll have the time to work on this. PRs are welcome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants