[PR #476] [CLOSED] (FIX) Check default SMS app before delete inbox sms #491

Closed
opened 2026-02-28 01:24:48 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/ushahidi/SMSSync/pull/476
Author: @datnguyen92
Created: 5/30/2017
Status: Closed

Base: masterHead: fix_delete_inbox_sms_crash_on_non_default_sms_app


📝 Commits (1)

  • 8649c8e (FIX) Check default SMS app before delete inbox sms

📊 Changes

1 file changed (+11 additions, -5 deletions)

View changed files

📝 smssync/src/main/java/org/addhen/smssync/smslib/sms/ProcessSms.java (+11 -5)

📄 Description

On certain phones (e.g. Huawei Mate 8 running Nougat), if SMSSync is not the default SMS app, the app will crash when execute method delSmsFromInbox(). Below is the stack trace for this issue:

FATAL EXCEPTION: SmsReceiverService
Process: org.addhen.smssync.debug, PID: 11676
java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
    at android.database.CursorWindow.nativeGetLong(Native Method)
    at android.database.CursorWindow.getLong(CursorWindow.java:511)
    at android.database.AbstractWindowedCursor.getLong(AbstractWindowedCursor.java:90)
    at android.database.CursorWrapper.getLong(CursorWrapper.java:127)
    at org.addhen.smssync.smslib.sms.ProcessSms.getThreadIdKitKat(ProcessSms.java:273)
    at org.addhen.smssync.smslib.sms.ProcessSms.getThreadId(ProcessSms.java:237)
    at org.addhen.smssync.smslib.sms.ProcessSms.delSmsFromInbox(ProcessSms.java:127)
    at org.addhen.smssync.data.message.ProcessMessage.deleteFromSmsInbox(ProcessMessage.java:198)
    at org.addhen.smssync.data.message.PostMessage.routeSms(PostMessage.java:147)
    at org.addhen.smssync.presentation.service.SmsReceiverService.handleSmsReceived(SmsReceiverService.java:275)
    at org.addhen.smssync.presentation.service.SmsReceiverService$ServiceHandler.handleMessage(SmsReceiverService.java:339)
    at android.os.Handler.dispatchMessage(Handler.java:111)
    at android.os.Looper.loop(Looper.java:207)
    at android.os.HandlerThread.run(HandlerThread.java:61)

In order to void that, I propose to check the default SMS app before deleting inbox message


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/ushahidi/SMSSync/pull/476 **Author:** [@datnguyen92](https://github.com/datnguyen92) **Created:** 5/30/2017 **Status:** ❌ Closed **Base:** `master` ← **Head:** `fix_delete_inbox_sms_crash_on_non_default_sms_app` --- ### 📝 Commits (1) - [`8649c8e`](https://github.com/ushahidi/SMSSync/commit/8649c8e19b7ace441e6ad909f2b6007c1ff12999) (FIX) Check default SMS app before delete inbox sms ### 📊 Changes **1 file changed** (+11 additions, -5 deletions) <details> <summary>View changed files</summary> 📝 `smssync/src/main/java/org/addhen/smssync/smslib/sms/ProcessSms.java` (+11 -5) </details> ### 📄 Description On certain phones (e.g. Huawei Mate 8 running Nougat), if SMSSync is not the default SMS app, the app will crash when execute method **delSmsFromInbox()**. Below is the stack trace for this issue: ``` FATAL EXCEPTION: SmsReceiverService Process: org.addhen.smssync.debug, PID: 11676 java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it. at android.database.CursorWindow.nativeGetLong(Native Method) at android.database.CursorWindow.getLong(CursorWindow.java:511) at android.database.AbstractWindowedCursor.getLong(AbstractWindowedCursor.java:90) at android.database.CursorWrapper.getLong(CursorWrapper.java:127) at org.addhen.smssync.smslib.sms.ProcessSms.getThreadIdKitKat(ProcessSms.java:273) at org.addhen.smssync.smslib.sms.ProcessSms.getThreadId(ProcessSms.java:237) at org.addhen.smssync.smslib.sms.ProcessSms.delSmsFromInbox(ProcessSms.java:127) at org.addhen.smssync.data.message.ProcessMessage.deleteFromSmsInbox(ProcessMessage.java:198) at org.addhen.smssync.data.message.PostMessage.routeSms(PostMessage.java:147) at org.addhen.smssync.presentation.service.SmsReceiverService.handleSmsReceived(SmsReceiverService.java:275) at org.addhen.smssync.presentation.service.SmsReceiverService$ServiceHandler.handleMessage(SmsReceiverService.java:339) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:207) at android.os.HandlerThread.run(HandlerThread.java:61) ``` In order to void that, I propose to check the default SMS app before deleting inbox message --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-28 01:24:48 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/SMSSync#491
No description provided.