Get shared backup tests working.

This commit is contained in:
Greyson Parrelli
2024-07-24 10:28:09 -04:00
committed by Nicholas Tinsley
parent 36640edfee
commit 7b0badef19
30 changed files with 184 additions and 108 deletions

View File

@@ -411,11 +411,8 @@ class DistributionListTables constructor(context: Context?, databaseHelper: Sign
}
return when (privacyMode) {
DistributionListPrivacyMode.ALL -> {
SignalDatabase.recipients
.getSignalContacts(false)!!
.readToList { it.requireObject(RecipientTable.ID, RecipientId.SERIALIZER) }
}
DistributionListPrivacyMode.ALL -> emptyList()
DistributionListPrivacyMode.ONLY_WITH -> rawMembers
DistributionListPrivacyMode.ALL_EXCEPT -> {
SignalDatabase.recipients
.getSignalContacts(false)!!
@@ -424,7 +421,6 @@ class DistributionListTables constructor(context: Context?, databaseHelper: Sign
mapper = { it.requireObject(RecipientTable.ID, RecipientId.SERIALIZER) }
)
}
DistributionListPrivacyMode.ONLY_WITH -> rawMembers
}
}
@@ -477,7 +473,7 @@ class DistributionListTables constructor(context: Context?, databaseHelper: Sign
}
}
private fun getPrivacyMode(listId: DistributionListId): DistributionListPrivacyMode {
fun getPrivacyMode(listId: DistributionListId): DistributionListPrivacyMode {
return readableDatabase
.select(ListTable.PRIVACY_MODE)
.from(ListTable.TABLE_NAME)

View File

@@ -420,7 +420,7 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
${MessageTypes.PROFILE_CHANGE_TYPE},
${MessageTypes.GV1_MIGRATION_TYPE},
${MessageTypes.CHANGE_NUMBER_TYPE},
${MessageTypes.BOOST_REQUEST_TYPE},
${MessageTypes.RELEASE_CHANNEL_DONATION_REQUEST_TYPE},
${MessageTypes.SMS_EXPORT_TYPE}
)
ORDER BY $DATE_RECEIVED DESC LIMIT 1
@@ -1237,7 +1237,7 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
DATE_RECEIVED to System.currentTimeMillis(),
DATE_SENT to System.currentTimeMillis(),
READ to 1,
TYPE to MessageTypes.BOOST_REQUEST_TYPE,
TYPE to MessageTypes.RELEASE_CHANNEL_DONATION_REQUEST_TYPE,
THREAD_ID to threadId,
BODY to null
)
@@ -1882,7 +1882,7 @@ open class MessageTable(context: Context?, databaseHelper: SignalDatabase) : Dat
$TYPE != ${MessageTypes.PROFILE_CHANGE_TYPE} AND
$TYPE != ${MessageTypes.CHANGE_NUMBER_TYPE} AND
$TYPE != ${MessageTypes.SMS_EXPORT_TYPE} AND
$TYPE != ${MessageTypes.BOOST_REQUEST_TYPE} AND
$TYPE != ${MessageTypes.RELEASE_CHANNEL_DONATION_REQUEST_TYPE} AND
$TYPE & ${MessageTypes.GROUP_V2_LEAVE_BITS} != ${MessageTypes.GROUP_V2_LEAVE_BITS} AND
$TYPE & ${MessageTypes.SPECIAL_TYPES_MASK} != ${MessageTypes.SPECIAL_TYPE_REPORTED_SPAM} AND
$TYPE & ${MessageTypes.SPECIAL_TYPES_MASK} != ${MessageTypes.SPECIAL_TYPE_MESSAGE_REQUEST_ACCEPTED}

View File

@@ -33,24 +33,24 @@ public interface MessageTypes {
// Base Types
long BASE_TYPE_MASK = 0x1F;
long INCOMING_AUDIO_CALL_TYPE = 1;
long OUTGOING_AUDIO_CALL_TYPE = 2;
long MISSED_AUDIO_CALL_TYPE = 3;
long JOINED_TYPE = 4;
long UNSUPPORTED_MESSAGE_TYPE = 5;
long INVALID_MESSAGE_TYPE = 6;
long PROFILE_CHANGE_TYPE = 7;
long MISSED_VIDEO_CALL_TYPE = 8;
long GV1_MIGRATION_TYPE = 9;
long INCOMING_VIDEO_CALL_TYPE = 10;
long OUTGOING_VIDEO_CALL_TYPE = 11;
long GROUP_CALL_TYPE = 12;
long BAD_DECRYPT_TYPE = 13;
long CHANGE_NUMBER_TYPE = 14;
long BOOST_REQUEST_TYPE = 15;
long THREAD_MERGE_TYPE = 16;
long SMS_EXPORT_TYPE = 17;
long SESSION_SWITCHOVER_TYPE = 18;
long INCOMING_AUDIO_CALL_TYPE = 1;
long OUTGOING_AUDIO_CALL_TYPE = 2;
long MISSED_AUDIO_CALL_TYPE = 3;
long JOINED_TYPE = 4;
long UNSUPPORTED_MESSAGE_TYPE = 5;
long INVALID_MESSAGE_TYPE = 6;
long PROFILE_CHANGE_TYPE = 7;
long MISSED_VIDEO_CALL_TYPE = 8;
long GV1_MIGRATION_TYPE = 9;
long INCOMING_VIDEO_CALL_TYPE = 10;
long OUTGOING_VIDEO_CALL_TYPE = 11;
long GROUP_CALL_TYPE = 12;
long BAD_DECRYPT_TYPE = 13;
long CHANGE_NUMBER_TYPE = 14;
long RELEASE_CHANNEL_DONATION_REQUEST_TYPE = 15;
long THREAD_MERGE_TYPE = 16;
long SMS_EXPORT_TYPE = 17;
long SESSION_SWITCHOVER_TYPE = 18;
long BASE_INBOX_TYPE = 20;
long BASE_OUTBOX_TYPE = 21;
@@ -59,7 +59,7 @@ public interface MessageTypes {
long BASE_SENT_FAILED_TYPE = 24;
long BASE_PENDING_SECURE_SMS_FALLBACK = 25;
long BASE_PENDING_INSECURE_SMS_FALLBACK = 26;
long BASE_DRAFT_TYPE = 27;
long BASE_DRAFT_TYPE = 27;
long[] OUTGOING_MESSAGE_TYPES = { BASE_OUTBOX_TYPE, BASE_SENT_TYPE,
BASE_SENDING_TYPE, BASE_SENT_FAILED_TYPE,
@@ -351,8 +351,8 @@ public interface MessageTypes {
return type == CHANGE_NUMBER_TYPE;
}
static boolean isBoostRequest(long type) {
return type == BOOST_REQUEST_TYPE;
static boolean isReleaseChannelDonationRequest(long type) {
return type == RELEASE_CHANNEL_DONATION_REQUEST_TYPE;
}
static boolean isSmsExport(long type) {

View File

@@ -1788,10 +1788,6 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
deactivateThread(query = null)
}
private fun SQLiteDatabase.deactivateThread(threadId: Long) {
deactivateThread(SqlUtil.Query("$ID = ?", SqlUtil.buildArgs(threadId)))
}
private fun SQLiteDatabase.deactivateThread(query: SqlUtil.Query?) {
val contentValues = contentValuesOf(
DATE to 0,
@@ -1820,13 +1816,13 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
)
if (query != null) {
writableDatabase
this
.update(TABLE_NAME)
.values(contentValues)
.where(query.where, query.whereArgs)
.run()
} else {
writableDatabase
this
.updateAll(TABLE_NAME)
.values(contentValues)
.run()
@@ -1979,7 +1975,7 @@ class ThreadTable(context: Context, databaseHelper: SignalDatabase) : DatabaseTa
return MessageTypes.isProfileChange(type) ||
MessageTypes.isGroupV1MigrationEvent(type) ||
MessageTypes.isChangeNumber(type) ||
MessageTypes.isBoostRequest(type) ||
MessageTypes.isReleaseChannelDonationRequest(type) ||
MessageTypes.isGroupV2LeaveOnly(type) ||
MessageTypes.isThreadMergeType(type)
}

View File

@@ -196,8 +196,8 @@ public abstract class DisplayRecord {
return MessageTypes.isChangeNumber(type);
}
public boolean isBoostRequest() {
return MessageTypes.isBoostRequest(type);
public boolean isReleaseChannelDonationRequest() {
return MessageTypes.isReleaseChannelDonationRequest(type);
}
public int getDeliveryStatus() {

View File

@@ -232,7 +232,7 @@ public abstract class MessageRecord extends DisplayRecord {
return getProfileChangeDescription(context);
} else if (isChangeNumber()) {
return fromRecipient(getFromRecipient(), r -> context.getString(R.string.MessageRecord_s_changed_their_phone_number, r.getDisplayName(context)), R.drawable.ic_phone_16);
} else if (isBoostRequest()) {
} else if (isReleaseChannelDonationRequest()) {
return staticUpdateDescription(context.getString(R.string.MessageRecord_like_this_new_feature_help_support_signal_with_a_one_time_donation), 0);
} else if (isEndSession()) {
if (isOutgoing()) return staticUpdateDescription(context.getString(R.string.SmsMessageRecord_secure_session_reset), R.drawable.ic_update_info_16);
@@ -684,7 +684,7 @@ public abstract class MessageRecord extends DisplayRecord {
return isGroupAction() || isJoined() || isExpirationTimerUpdate() || isCallLog() ||
isEndSession() || isIdentityUpdate() || isIdentityVerified() || isIdentityDefault() ||
isProfileChange() || isGroupV1MigrationEvent() || isChatSessionRefresh() || isBadDecryptType() ||
isChangeNumber() || isBoostRequest() || isThreadMergeEventType() || isSmsExportType() || isSessionSwitchoverEventType() ||
isChangeNumber() || isReleaseChannelDonationRequest() || isThreadMergeEventType() || isSmsExportType() || isSessionSwitchoverEventType() ||
isPaymentsRequestToActivate() || isPaymentsActivated() || isReportedSpam() || isMessageRequestAccepted();
}