Disable inline message processing for internal users.

This commit is contained in:
Greyson Parrelli 2021-03-25 12:35:58 -04:00 committed by Alex Hart
parent f06817f00d
commit 58a32c11ec
2 changed files with 19 additions and 29 deletions

View file

@ -1,10 +1,5 @@
package org.thoughtcrime.securesms.crypto; package org.thoughtcrime.securesms.crypto;
import net.sqlcipher.database.SQLiteDatabase;
import org.thoughtcrime.securesms.database.DatabaseFactory;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.util.FeatureFlags;
import org.whispersystems.signalservice.api.SignalSessionLock; import org.whispersystems.signalservice.api.SignalSessionLock;
import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantLock;
@ -24,26 +19,25 @@ public enum DatabaseSessionLock implements SignalSessionLock {
@Override @Override
public Lock acquire() { public Lock acquire() {
if (FeatureFlags.internalUser()) { LEGACY_LOCK.lock();
SQLiteDatabase db = DatabaseFactory.getInstance(ApplicationDependencies.getApplication()).getRawDatabase(); return LEGACY_LOCK::unlock;
if (db.isDbLockedByCurrentThread()) { // TODO [greyson][db] Revisit after improving database locking
return () -> {}; // SQLiteDatabase db = DatabaseFactory.getInstance(ApplicationDependencies.getApplication()).getRawDatabase();
} //
// if (db.isDbLockedByCurrentThread()) {
db.beginTransaction(); // return () -> {};
// }
ownerThreadId = Thread.currentThread().getId(); //
// db.beginTransaction();
return () -> { //
ownerThreadId = -1; // ownerThreadId = Thread.currentThread().getId();
db.setTransactionSuccessful(); //
db.endTransaction(); // return () -> {
}; // ownerThreadId = -1;
} else { // db.setTransactionSuccessful();
LEGACY_LOCK.lock(); // db.endTransaction();
return LEGACY_LOCK::unlock; // };
}
} }
/** /**

View file

@ -100,11 +100,7 @@ public class IncomingMessageProcessor {
} }
private @Nullable String processMessage(@NonNull SignalServiceEnvelope envelope) { private @Nullable String processMessage(@NonNull SignalServiceEnvelope envelope) {
if (FeatureFlags.internalUser()) { return processMessageDeferred(envelope);
return processMessageInline(envelope);
} else {
return processMessageDeferred(envelope);
}
} }
private @Nullable String processMessageDeferred(@NonNull SignalServiceEnvelope envelope) { private @Nullable String processMessageDeferred(@NonNull SignalServiceEnvelope envelope) {