Disable conversation shortcuts when screen lock is enabled.

fork-5.53.8
Greyson Parrelli 2021-02-09 11:43:23 -05:00 zatwierdzone przez Cody Henthorne
rodzic 937a288cee
commit 59d69192c6
2 zmienionych plików z 14 dodań i 0 usunięć

Wyświetl plik

@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.jobs;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.DatabaseFactory;
import org.thoughtcrime.securesms.database.ThreadDatabase; import org.thoughtcrime.securesms.database.ThreadDatabase;
import org.thoughtcrime.securesms.database.model.ThreadRecord; import org.thoughtcrime.securesms.database.model.ThreadRecord;
@ -11,6 +12,7 @@ import org.thoughtcrime.securesms.jobmanager.Job;
import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.transport.RetryLaterException; import org.thoughtcrime.securesms.transport.RetryLaterException;
import org.thoughtcrime.securesms.util.ConversationUtil; import org.thoughtcrime.securesms.util.ConversationUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -23,6 +25,8 @@ import java.util.concurrent.TimeUnit;
*/ */
public class ConversationShortcutUpdateJob extends BaseJob { public class ConversationShortcutUpdateJob extends BaseJob {
private static final String TAG = Log.tag(ConversationShortcutUpdateJob.class);
public static final String KEY = "ConversationShortcutUpdateJob"; public static final String KEY = "ConversationShortcutUpdateJob";
public ConversationShortcutUpdateJob() { public ConversationShortcutUpdateJob() {
@ -50,6 +54,12 @@ public class ConversationShortcutUpdateJob extends BaseJob {
@Override @Override
@RequiresApi(ConversationUtil.CONVERSATION_SUPPORT_VERSION) @RequiresApi(ConversationUtil.CONVERSATION_SUPPORT_VERSION)
protected void onRun() throws Exception { protected void onRun() throws Exception {
if (TextSecurePreferences.isScreenLockEnabled(context)) {
Log.i(TAG, "Screen lock enabled. Clearing shortcuts.");
ConversationUtil.clearAllShortcuts(context);
return;
}
ThreadDatabase threadDatabase = DatabaseFactory.getThreadDatabase(context); ThreadDatabase threadDatabase = DatabaseFactory.getThreadDatabase(context);
int maxShortcuts = ConversationUtil.getMaxShortcuts(context); int maxShortcuts = ConversationUtil.getMaxShortcuts(context);
List<Recipient> ranked = new ArrayList<>(maxShortcuts); List<Recipient> ranked = new ArrayList<>(maxShortcuts);

Wyświetl plik

@ -39,6 +39,7 @@ import org.thoughtcrime.securesms.contactshare.SimpleTextWatcher;
import org.thoughtcrime.securesms.crypto.MasterSecretUtil; import org.thoughtcrime.securesms.crypto.MasterSecretUtil;
import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.DatabaseFactory;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.jobs.ConversationShortcutUpdateJob;
import org.thoughtcrime.securesms.jobs.MultiDeviceConfigurationUpdateJob; import org.thoughtcrime.securesms.jobs.MultiDeviceConfigurationUpdateJob;
import org.thoughtcrime.securesms.jobs.RefreshAttributesJob; import org.thoughtcrime.securesms.jobs.RefreshAttributesJob;
import org.thoughtcrime.securesms.keyvalue.KbsValues; import org.thoughtcrime.securesms.keyvalue.KbsValues;
@ -239,6 +240,9 @@ public class AppProtectionPreferenceFragment extends CorrectedPreferenceFragment
Intent intent = new Intent(getContext(), KeyCachingService.class); Intent intent = new Intent(getContext(), KeyCachingService.class);
intent.setAction(KeyCachingService.LOCK_TOGGLED_EVENT); intent.setAction(KeyCachingService.LOCK_TOGGLED_EVENT);
getContext().startService(intent); getContext().startService(intent);
ApplicationDependencies.getJobManager().add(new ConversationShortcutUpdateJob());
return true; return true;
} }
} }