ProcessPendingMessagesAction works based on subscriptions

PorcessPendingMessagesAction queues one message for sending/downloading
associated with a subscription triggering current action at a time. And
the ConnectivityUtil also works based on subscriptions so that pending
messages can be processed regardless of other phones' state in multi-sim
case.

It includes cleanup code as well.

Test: Manual

Change-Id: Id6b4f4a0aa6a3291e7a4d8a5d3f0fbb9db3c5b86
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
This commit is contained in:
Taesu Lee
2020-02-17 15:15:17 +09:00
parent 4e84ad49bb
commit 4e99cc0a02
21 changed files with 274 additions and 464 deletions

View File

@@ -34,6 +34,8 @@ import com.android.messaging.util.LogUtil;
public class ResendMessageAction extends Action implements Parcelable {
private static final String TAG = LogUtil.BUGLE_DATAMODEL_TAG;
private static final String KEY_SUB_ID = "sub_id";
/**
* Manual send of existing message (no listener)
*/
@@ -87,6 +89,9 @@ public class ResendMessageAction extends Action implements Parcelable {
MessagingContentProvider.notifyMessagesChanged(message.getConversationId());
actionParameters.putInt(KEY_SUB_ID,
BugleDatabaseOperations.getSelfSubscriptionId(db, message.getSelfId()));
// Whether we succeeded or failed we will check and maybe schedule some more work
ProcessPendingMessagesAction.scheduleProcessPendingMessagesAction(false, this);