Revert "Fix dynamic language override for app context."

This reverts commit 75a19ada23f4fc0d5111fb74d234c7c6f48ba503.
fork-5.53.8
Rashad Sookram 2022-01-21 18:11:49 -05:00 zatwierdzone przez Greyson Parrelli
rodzic 78acc485fc
commit 35d0f1fc8c
25 zmienionych plików z 74 dodań i 76 usunięć

Wyświetl plik

@ -35,22 +35,24 @@ import org.signal.core.util.logging.AndroidLogger;
import org.signal.core.util.logging.Log; import org.signal.core.util.logging.Log;
import org.signal.core.util.tracing.Tracer; import org.signal.core.util.tracing.Tracer;
import org.signal.glide.SignalGlideCodecs; import org.signal.glide.SignalGlideCodecs;
import org.thoughtcrime.securesms.emoji.JumboEmoji;
import org.thoughtcrime.securesms.mms.SignalGlideModule;
import org.signal.ringrtc.CallManager; import org.signal.ringrtc.CallManager;
import org.thoughtcrime.securesms.avatar.AvatarPickerStorage; import org.thoughtcrime.securesms.avatar.AvatarPickerStorage;
import org.thoughtcrime.securesms.crypto.AttachmentSecretProvider; import org.thoughtcrime.securesms.crypto.AttachmentSecretProvider;
import org.thoughtcrime.securesms.crypto.DatabaseSecretProvider; import org.thoughtcrime.securesms.crypto.DatabaseSecretProvider;
import org.thoughtcrime.securesms.database.LogDatabase; import org.thoughtcrime.securesms.database.LogDatabase;
import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.database.SqlCipherLibraryLoader; import org.thoughtcrime.securesms.database.SqlCipherLibraryLoader;
import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencyProvider; import org.thoughtcrime.securesms.dependencies.ApplicationDependencyProvider;
import org.thoughtcrime.securesms.emoji.EmojiSource; import org.thoughtcrime.securesms.emoji.EmojiSource;
import org.thoughtcrime.securesms.emoji.JumboEmoji;
import org.thoughtcrime.securesms.gcm.FcmJobService; import org.thoughtcrime.securesms.gcm.FcmJobService;
import org.thoughtcrime.securesms.jobs.CreateSignedPreKeyJob; import org.thoughtcrime.securesms.jobs.CreateSignedPreKeyJob;
import org.thoughtcrime.securesms.jobs.DownloadLatestEmojiDataJob; import org.thoughtcrime.securesms.jobs.DownloadLatestEmojiDataJob;
import org.thoughtcrime.securesms.jobs.EmojiSearchIndexDownloadJob; import org.thoughtcrime.securesms.jobs.EmojiSearchIndexDownloadJob;
import org.thoughtcrime.securesms.jobs.FcmRefreshJob; import org.thoughtcrime.securesms.jobs.FcmRefreshJob;
import org.thoughtcrime.securesms.jobs.GroupV1MigrationJob;
import org.thoughtcrime.securesms.jobs.MultiDeviceContactUpdateJob; import org.thoughtcrime.securesms.jobs.MultiDeviceContactUpdateJob;
import org.thoughtcrime.securesms.jobs.ProfileUploadJob; import org.thoughtcrime.securesms.jobs.ProfileUploadJob;
import org.thoughtcrime.securesms.jobs.PushNotificationReceiveJob; import org.thoughtcrime.securesms.jobs.PushNotificationReceiveJob;
@ -63,7 +65,6 @@ import org.thoughtcrime.securesms.logging.PersistentLogger;
import org.thoughtcrime.securesms.messageprocessingalarm.MessageProcessReceiver; import org.thoughtcrime.securesms.messageprocessingalarm.MessageProcessReceiver;
import org.thoughtcrime.securesms.migrations.ApplicationMigrations; import org.thoughtcrime.securesms.migrations.ApplicationMigrations;
import org.thoughtcrime.securesms.mms.SignalGlideComponents; import org.thoughtcrime.securesms.mms.SignalGlideComponents;
import org.thoughtcrime.securesms.mms.SignalGlideModule;
import org.thoughtcrime.securesms.notifications.NotificationChannels; import org.thoughtcrime.securesms.notifications.NotificationChannels;
import org.thoughtcrime.securesms.providers.BlobProvider; import org.thoughtcrime.securesms.providers.BlobProvider;
import org.thoughtcrime.securesms.ratelimit.RateLimitUtil; import org.thoughtcrime.securesms.ratelimit.RateLimitUtil;
@ -89,6 +90,7 @@ import org.thoughtcrime.securesms.util.VersionTracker;
import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper; import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper;
import org.whispersystems.libsignal.logging.SignalProtocolLoggerProvider; import org.whispersystems.libsignal.logging.SignalProtocolLoggerProvider;
import java.io.IOException;
import java.net.SocketException; import java.net.SocketException;
import java.net.SocketTimeoutException; import java.net.SocketTimeoutException;
import java.security.Security; import java.security.Security;
@ -469,7 +471,8 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr
@Override @Override
protected void attachBaseContext(Context base) { protected void attachBaseContext(Context base) {
super.attachBaseContext(DynamicLanguageContextWrapper.getUpdatedApplicationContext(base)); DynamicLanguageContextWrapper.updateContext(base);
super.attachBaseContext(base);
} }
private static class ProviderInitializationException extends RuntimeException { private static class ProviderInitializationException extends RuntimeException {

Wyświetl plik

@ -1,6 +1,6 @@
package org.thoughtcrime.securesms.components.settings.app.changenumber package org.thoughtcrime.securesms.components.settings.app.changenumber
import android.content.Context import android.app.Application
import androidx.annotation.WorkerThread import androidx.annotation.WorkerThread
import androidx.lifecycle.AbstractSavedStateViewModelFactory import androidx.lifecycle.AbstractSavedStateViewModelFactory
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
@ -165,7 +165,7 @@ class ChangeNumberViewModel(
class Factory(owner: SavedStateRegistryOwner) : AbstractSavedStateViewModelFactory(owner, null) { class Factory(owner: SavedStateRegistryOwner) : AbstractSavedStateViewModelFactory(owner, null) {
override fun <T : ViewModel?> create(key: String, modelClass: Class<T>, handle: SavedStateHandle): T { override fun <T : ViewModel?> create(key: String, modelClass: Class<T>, handle: SavedStateHandle): T {
val context: Context = ApplicationDependencies.getApplication() val context: Application = ApplicationDependencies.getApplication()
val localNumber: String = SignalStore.account().e164!! val localNumber: String = SignalStore.account().e164!!
val password: String = SignalStore.account().servicePassword!! val password: String = SignalStore.account().servicePassword!!

Wyświetl plik

@ -1,6 +1,6 @@
package org.thoughtcrime.securesms.conversation; package org.thoughtcrime.securesms.conversation;
import android.content.Context; import android.app.Application;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@ -117,7 +117,7 @@ final class ConversationGroupViewModel extends ViewModel {
private static @Nullable GroupRecord getGroupRecordForRecipient(@Nullable Recipient recipient) { private static @Nullable GroupRecord getGroupRecordForRecipient(@Nullable Recipient recipient) {
if (recipient != null && recipient.isGroup()) { if (recipient != null && recipient.isGroup()) {
Context context = ApplicationDependencies.getApplication(); Application context = ApplicationDependencies.getApplication();
GroupDatabase groupDatabase = SignalDatabase.groups(); GroupDatabase groupDatabase = SignalDatabase.groups();
return groupDatabase.getGroup(recipient.getId()).orNull(); return groupDatabase.getGroup(recipient.getId()).orNull();
} else { } else {

Wyświetl plik

@ -1,6 +1,6 @@
package org.thoughtcrime.securesms.conversation; package org.thoughtcrime.securesms.conversation;
import android.content.Context; import android.app.Application;
import androidx.annotation.MainThread; import androidx.annotation.MainThread;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -66,7 +66,7 @@ public class ConversationViewModel extends ViewModel {
private static final String TAG = Log.tag(ConversationViewModel.class); private static final String TAG = Log.tag(ConversationViewModel.class);
private final Context context; private final Application context;
private final MediaRepository mediaRepository; private final MediaRepository mediaRepository;
private final ConversationRepository conversationRepository; private final ConversationRepository conversationRepository;
private final MutableLiveData<List<Media>> recentMedia; private final MutableLiveData<List<Media>> recentMedia;

Wyświetl plik

@ -1,5 +1,6 @@
package org.thoughtcrime.securesms.conversation; package org.thoughtcrime.securesms.conversation;
import android.app.Application;
import android.content.Context; import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -22,7 +23,7 @@ public class MessageCountsViewModel extends ViewModel {
private static final Executor EXECUTOR = new SerialMonoLifoExecutor(SignalExecutors.BOUNDED); private static final Executor EXECUTOR = new SerialMonoLifoExecutor(SignalExecutors.BOUNDED);
private final Context context; private final Application context;
private final MutableLiveData<Long> threadId = new MutableLiveData<>(-1L); private final MutableLiveData<Long> threadId = new MutableLiveData<>(-1L);
private final LiveData<Pair<Integer, Integer>> unreadCounts; private final LiveData<Pair<Integer, Integer>> unreadCounts;

Wyświetl plik

@ -1,6 +1,6 @@
package org.thoughtcrime.securesms.conversationlist; package org.thoughtcrime.securesms.conversationlist;
import android.content.Context; import android.app.Application;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -79,7 +79,7 @@ class ConversationListViewModel extends ViewModel {
private SearchResult activeSearchResult; private SearchResult activeSearchResult;
private int pinnedCount; private int pinnedCount;
private ConversationListViewModel(@NonNull Context application, @NonNull SearchRepository searchRepository, boolean isArchived) { private ConversationListViewModel(@NonNull Application application, @NonNull SearchRepository searchRepository, boolean isArchived) {
this.megaphone = new MutableLiveData<>(); this.megaphone = new MutableLiveData<>();
this.searchResult = new MutableLiveData<>(); this.searchResult = new MutableLiveData<>();
this.internalSelection = new HashSet<>(); this.internalSelection = new HashSet<>();

Wyświetl plik

@ -2,7 +2,6 @@ package org.thoughtcrime.securesms.database;
import android.app.Application; import android.app.Application;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor; import android.database.Cursor;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -47,9 +46,9 @@ public class KeyValueDatabase extends SQLiteOpenHelper implements SignalDatabase
private static volatile KeyValueDatabase instance; private static volatile KeyValueDatabase instance;
private final Context application; private final Application application;
public static @NonNull KeyValueDatabase getInstance(@NonNull Context context) { public static @NonNull KeyValueDatabase getInstance(@NonNull Application context) {
if (instance == null) { if (instance == null) {
synchronized (KeyValueDatabase.class) { synchronized (KeyValueDatabase.class) {
if (instance == null) { if (instance == null) {
@ -61,7 +60,7 @@ public class KeyValueDatabase extends SQLiteOpenHelper implements SignalDatabase
return instance; return instance;
} }
private KeyValueDatabase(@NonNull Context application, @NonNull DatabaseSecret databaseSecret) { private KeyValueDatabase(@NonNull Application application, @NonNull DatabaseSecret databaseSecret) {
super(application, DATABASE_NAME, databaseSecret.asString(), null, DATABASE_VERSION, 0,new SqlCipherErrorHandler(DATABASE_NAME), new SqlCipherDatabaseHook()); super(application, DATABASE_NAME, databaseSecret.asString(), null, DATABASE_VERSION, 0,new SqlCipherErrorHandler(DATABASE_NAME), new SqlCipherDatabaseHook());
this.application = application; this.application = application;

Wyświetl plik

@ -1,8 +1,8 @@
package org.thoughtcrime.securesms.database package org.thoughtcrime.securesms.database
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Application
import android.content.ContentValues import android.content.ContentValues
import android.content.Context
import net.zetetic.database.sqlcipher.SQLiteDatabase import net.zetetic.database.sqlcipher.SQLiteDatabase
import net.zetetic.database.sqlcipher.SQLiteOpenHelper import net.zetetic.database.sqlcipher.SQLiteOpenHelper
import org.signal.core.util.logging.Log import org.signal.core.util.logging.Log
@ -24,7 +24,7 @@ import java.util.concurrent.TimeUnit
* This is it's own separate physical database, so it cannot do joins or queries with any other tables. * This is it's own separate physical database, so it cannot do joins or queries with any other tables.
*/ */
class LocalMetricsDatabase private constructor( class LocalMetricsDatabase private constructor(
application: Context, application: Application,
databaseSecret: DatabaseSecret databaseSecret: DatabaseSecret
) : ) :
SQLiteOpenHelper( SQLiteOpenHelper(
@ -77,7 +77,7 @@ class LocalMetricsDatabase private constructor(
private var instance: LocalMetricsDatabase? = null private var instance: LocalMetricsDatabase? = null
@JvmStatic @JvmStatic
fun getInstance(context: Context): LocalMetricsDatabase { fun getInstance(context: Application): LocalMetricsDatabase {
if (instance == null) { if (instance == null) {
synchronized(LocalMetricsDatabase::class.java) { synchronized(LocalMetricsDatabase::class.java) {
if (instance == null) { if (instance == null) {

Wyświetl plik

@ -1,8 +1,8 @@
package org.thoughtcrime.securesms.database package org.thoughtcrime.securesms.database
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Application
import android.content.ContentValues import android.content.ContentValues
import android.content.Context
import android.database.Cursor import android.database.Cursor
import net.zetetic.database.sqlcipher.SQLiteDatabase import net.zetetic.database.sqlcipher.SQLiteDatabase
import net.zetetic.database.sqlcipher.SQLiteOpenHelper import net.zetetic.database.sqlcipher.SQLiteOpenHelper
@ -26,7 +26,7 @@ import java.util.concurrent.TimeUnit
* This is it's own separate physical database, so it cannot do joins or queries with any other tables. * This is it's own separate physical database, so it cannot do joins or queries with any other tables.
*/ */
class LogDatabase private constructor( class LogDatabase private constructor(
application: Context, application: Application,
databaseSecret: DatabaseSecret databaseSecret: DatabaseSecret
) : ) :
SQLiteOpenHelper( SQLiteOpenHelper(
@ -78,7 +78,7 @@ class LogDatabase private constructor(
private var instance: LogDatabase? = null private var instance: LogDatabase? = null
@JvmStatic @JvmStatic
fun getInstance(context: Context): LogDatabase { fun getInstance(context: Application): LogDatabase {
if (instance == null) { if (instance == null) {
synchronized(LogDatabase::class.java) { synchronized(LogDatabase::class.java) {
if (instance == null) { if (instance == null) {

Wyświetl plik

@ -1,7 +1,6 @@
package org.thoughtcrime.securesms.dependencies; package org.thoughtcrime.securesms.dependencies;
import android.app.Application; import android.app.Application;
import android.content.Context;
import androidx.annotation.MainThread; import androidx.annotation.MainThread;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -43,9 +42,8 @@ import org.thoughtcrime.securesms.util.EarlyMessageCache;
import org.thoughtcrime.securesms.util.FrameRateTracker; import org.thoughtcrime.securesms.util.FrameRateTracker;
import org.thoughtcrime.securesms.util.Hex; import org.thoughtcrime.securesms.util.Hex;
import org.thoughtcrime.securesms.util.IasKeyStore; import org.thoughtcrime.securesms.util.IasKeyStore;
import org.thoughtcrime.securesms.util.dynamiclanguage.DynamicLanguageContextWrapper;
import org.thoughtcrime.securesms.video.exo.GiphyMp4Cache;
import org.thoughtcrime.securesms.video.exo.SimpleExoPlayerPool; import org.thoughtcrime.securesms.video.exo.SimpleExoPlayerPool;
import org.thoughtcrime.securesms.video.exo.GiphyMp4Cache;
import org.thoughtcrime.securesms.webrtc.audio.AudioManagerCompat; import org.thoughtcrime.securesms.webrtc.audio.AudioManagerCompat;
import org.whispersystems.signalservice.api.KeyBackupService; import org.whispersystems.signalservice.api.KeyBackupService;
import org.whispersystems.signalservice.api.SignalServiceAccountManager; import org.whispersystems.signalservice.api.SignalServiceAccountManager;
@ -71,7 +69,7 @@ public class ApplicationDependencies {
private static final Object FRAME_RATE_TRACKER_LOCK = new Object(); private static final Object FRAME_RATE_TRACKER_LOCK = new Object();
private static final Object JOB_MANAGER_LOCK = new Object(); private static final Object JOB_MANAGER_LOCK = new Object();
private static Context application; private static Application application;
private static Provider provider; private static Provider provider;
private static AppForegroundObserver appForegroundObserver; private static AppForegroundObserver appForegroundObserver;
@ -134,14 +132,10 @@ public class ApplicationDependencies {
return ApplicationDependencies.application != null; return ApplicationDependencies.application != null;
} }
public static @NonNull Context getApplication() { public static @NonNull Application getApplication() {
return application; return application;
} }
public static void updateApplicationLanguage() {
application = DynamicLanguageContextWrapper.getUpdatedApplicationContext(application);
}
public static @NonNull SignalServiceAccountManager getSignalServiceAccountManager() { public static @NonNull SignalServiceAccountManager getSignalServiceAccountManager() {
SignalServiceAccountManager local = accountManager; SignalServiceAccountManager local = accountManager;

Wyświetl plik

@ -1,6 +1,6 @@
package org.thoughtcrime.securesms.groups.ui.addtogroup; package org.thoughtcrime.securesms.groups.ui.addtogroup;
import android.content.Context; import android.app.Application;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModel;
@ -19,7 +19,7 @@ import java.util.Objects;
public final class AddToGroupViewModel extends ViewModel { public final class AddToGroupViewModel extends ViewModel {
private final Context context; private final Application context;
private final AddToGroupRepository repository; private final AddToGroupRepository repository;
private final RecipientId recipientId; private final RecipientId recipientId;
private final SingleLiveEvent<Event> events = new SingleLiveEvent<>(); private final SingleLiveEvent<Event> events = new SingleLiveEvent<>();

Wyświetl plik

@ -1,6 +1,6 @@
package org.thoughtcrime.securesms.groups.ui.chooseadmin; package org.thoughtcrime.securesms.groups.ui.chooseadmin;
import android.content.Context; import android.app.Application;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.WorkerThread; import androidx.annotation.WorkerThread;
@ -16,9 +16,9 @@ import java.io.IOException;
import java.util.List; import java.util.List;
public final class ChooseNewAdminRepository { public final class ChooseNewAdminRepository {
private final Context context; private final Application context;
ChooseNewAdminRepository(@NonNull Context context) { ChooseNewAdminRepository(@NonNull Application context) {
this.context = context; this.context = context;
} }

Wyświetl plik

@ -1,5 +1,6 @@
package org.thoughtcrime.securesms.jobmanager.impl; package org.thoughtcrime.securesms.jobmanager.impl;
import android.app.Application;
import android.content.Context; import android.content.Context;
import android.telephony.PhoneStateListener; import android.telephony.PhoneStateListener;
import android.telephony.ServiceState; import android.telephony.ServiceState;
@ -20,7 +21,7 @@ public class CellServiceConstraintObserver implements ConstraintObserver {
private static volatile CellServiceConstraintObserver instance; private static volatile CellServiceConstraintObserver instance;
public static CellServiceConstraintObserver getInstance(@NonNull Context application) { public static CellServiceConstraintObserver getInstance(@NonNull Application application) {
if (instance == null) { if (instance == null) {
synchronized (CellServiceConstraintObserver.class) { synchronized (CellServiceConstraintObserver.class) {
if (instance == null) { if (instance == null) {
@ -31,7 +32,7 @@ public class CellServiceConstraintObserver implements ConstraintObserver {
return instance; return instance;
} }
private CellServiceConstraintObserver(@NonNull Context application) { private CellServiceConstraintObserver(@NonNull Application application) {
TelephonyManager telephonyManager = (TelephonyManager) application.getSystemService(Context.TELEPHONY_SERVICE); TelephonyManager telephonyManager = (TelephonyManager) application.getSystemService(Context.TELEPHONY_SERVICE);
ServiceStateListener serviceStateListener = new ServiceStateListener(); ServiceStateListener serviceStateListener = new ServiceStateListener();

Wyświetl plik

@ -1,11 +1,13 @@
package org.thoughtcrime.securesms.jobmanager.impl; package org.thoughtcrime.securesms.jobmanager.impl;
import android.app.Application;
import android.app.job.JobInfo; import android.app.job.JobInfo;
import android.content.Context; import android.content.Context;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.NetworkInfo; import android.net.NetworkInfo;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import org.thoughtcrime.securesms.jobmanager.Constraint; import org.thoughtcrime.securesms.jobmanager.Constraint;
@ -14,9 +16,9 @@ public class NetworkConstraint implements Constraint {
public static final String KEY = "NetworkConstraint"; public static final String KEY = "NetworkConstraint";
private final Context application; private final Application application;
private NetworkConstraint(@NonNull Context application) { private NetworkConstraint(@NonNull Application application) {
this.application = application; this.application = application;
} }
@ -51,9 +53,9 @@ public class NetworkConstraint implements Constraint {
public static final class Factory implements Constraint.Factory<NetworkConstraint> { public static final class Factory implements Constraint.Factory<NetworkConstraint> {
private final Context application; private final Application application;
public Factory(@NonNull Context application) { public Factory(@NonNull Application application) {
this.application = application; this.application = application;
} }

Wyświetl plik

@ -1,7 +1,7 @@
package org.thoughtcrime.securesms.jobmanager.impl; package org.thoughtcrime.securesms.jobmanager.impl;
import android.app.Application;
import android.app.job.JobInfo; import android.app.job.JobInfo;
import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -13,10 +13,10 @@ public class NetworkOrCellServiceConstraint implements Constraint {
public static final String KEY = "NetworkOrCellServiceConstraint"; public static final String KEY = "NetworkOrCellServiceConstraint";
public static final String LEGACY_KEY = "CellServiceConstraint"; public static final String LEGACY_KEY = "CellServiceConstraint";
private final Context application; private final Application application;
private final NetworkConstraint networkConstraint; private final NetworkConstraint networkConstraint;
private NetworkOrCellServiceConstraint(@NonNull Context application) { private NetworkOrCellServiceConstraint(@NonNull Application application) {
this.application = application; this.application = application;
this.networkConstraint = new NetworkConstraint.Factory(application).create(); this.networkConstraint = new NetworkConstraint.Factory(application).create();
} }
@ -39,15 +39,15 @@ public class NetworkOrCellServiceConstraint implements Constraint {
public void applyToJobInfo(@NonNull JobInfo.Builder jobInfoBuilder) { public void applyToJobInfo(@NonNull JobInfo.Builder jobInfoBuilder) {
} }
private static boolean hasCellService(@NonNull Context application) { private static boolean hasCellService(@NonNull Application application) {
return CellServiceConstraintObserver.getInstance(application).hasService(); return CellServiceConstraintObserver.getInstance(application).hasService();
} }
public static class Factory implements Constraint.Factory<NetworkOrCellServiceConstraint> { public static class Factory implements Constraint.Factory<NetworkOrCellServiceConstraint> {
private final Context application; private final Application application;
public Factory(@NonNull Context application) { public Factory(@NonNull Application application) {
this.application = application; this.application = application;
} }

Wyświetl plik

@ -1,7 +1,7 @@
package org.thoughtcrime.securesms.jobmanager.impl; package org.thoughtcrime.securesms.jobmanager.impl;
import android.app.Application;
import android.app.job.JobInfo; import android.app.job.JobInfo;
import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -12,9 +12,9 @@ public class SqlCipherMigrationConstraint implements Constraint {
public static final String KEY = "SqlCipherMigrationConstraint"; public static final String KEY = "SqlCipherMigrationConstraint";
private final Context application; private final Application application;
private SqlCipherMigrationConstraint(@NonNull Context application) { private SqlCipherMigrationConstraint(@NonNull Application application) {
this.application = application; this.application = application;
} }
@ -35,9 +35,9 @@ public class SqlCipherMigrationConstraint implements Constraint {
public static final class Factory implements Constraint.Factory<SqlCipherMigrationConstraint> { public static final class Factory implements Constraint.Factory<SqlCipherMigrationConstraint> {
private final Context application; private final Application application;
public Factory(@NonNull Context application) { public Factory(@NonNull Application application) {
this.application = application; this.application = application;
} }

Wyświetl plik

@ -1,7 +1,6 @@
package org.thoughtcrime.securesms.jobs; package org.thoughtcrime.securesms.jobs;
import android.app.Application; import android.app.Application;
import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -227,7 +226,7 @@ public final class JobManagerFactories {
}}; }};
} }
public static Map<String, Constraint.Factory> getConstraintFactories(@NonNull Context application) { public static Map<String, Constraint.Factory> getConstraintFactories(@NonNull Application application) {
return new HashMap<String, Constraint.Factory>() {{ return new HashMap<String, Constraint.Factory>() {{
put(AutoDownloadEmojiConstraint.KEY, new AutoDownloadEmojiConstraint.Factory(application)); put(AutoDownloadEmojiConstraint.KEY, new AutoDownloadEmojiConstraint.Factory(application));
put(ChargingConstraint.KEY, new ChargingConstraint.Factory()); put(ChargingConstraint.KEY, new ChargingConstraint.Factory());

Wyświetl plik

@ -203,7 +203,6 @@ public final class SettingsValues extends SignalStoreValues {
public void setLanguage(@NonNull String language) { public void setLanguage(@NonNull String language) {
TextSecurePreferences.setLanguage(ApplicationDependencies.getApplication(), language); TextSecurePreferences.setLanguage(ApplicationDependencies.getApplication(), language);
ApplicationDependencies.updateApplicationLanguage();
onConfigurationSettingChanged.postValue(LANGUAGE); onConfigurationSettingChanged.postValue(LANGUAGE);
} }

Wyświetl plik

@ -1,6 +1,6 @@
package org.thoughtcrime.securesms.logsubmit package org.thoughtcrime.securesms.logsubmit
import android.content.Context import android.app.Application
import org.signal.paging.PagedDataSource import org.signal.paging.PagedDataSource
import org.thoughtcrime.securesms.database.LogDatabase import org.thoughtcrime.securesms.database.LogDatabase
import org.thoughtcrime.securesms.logsubmit.util.Scrubber import org.thoughtcrime.securesms.logsubmit.util.Scrubber
@ -13,7 +13,7 @@ import java.lang.UnsupportedOperationException
* @param untilTime Only show logs before this time. This is our way of making sure the set of logs we show on this screen doesn't grow. * @param untilTime Only show logs before this time. This is our way of making sure the set of logs we show on this screen doesn't grow.
*/ */
class LogDataSource( class LogDataSource(
application: Context, application: Application,
private val prefixLines: List<LogLine>, private val prefixLines: List<LogLine>,
private val untilTime: Long private val untilTime: Long
) : ) :

Wyświetl plik

@ -1,9 +1,11 @@
package org.thoughtcrime.securesms.logsubmit; package org.thoughtcrime.securesms.logsubmit;
import android.app.Application;
import android.content.Context; import android.content.Context;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.ParcelFileDescriptor; import android.os.ParcelFileDescriptor;
import android.os.SystemClock;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@ -23,16 +25,20 @@ import org.thoughtcrime.securesms.logsubmit.util.Scrubber;
import org.thoughtcrime.securesms.net.StandardUserAgentInterceptor; import org.thoughtcrime.securesms.net.StandardUserAgentInterceptor;
import org.thoughtcrime.securesms.providers.BlobProvider; import org.thoughtcrime.securesms.providers.BlobProvider;
import org.thoughtcrime.securesms.push.SignalServiceNetworkAccess; import org.thoughtcrime.securesms.push.SignalServiceNetworkAccess;
import org.thoughtcrime.securesms.util.ByteUnit;
import org.thoughtcrime.securesms.util.FeatureFlags; import org.thoughtcrime.securesms.util.FeatureFlags;
import org.thoughtcrime.securesms.util.Stopwatch; import org.thoughtcrime.securesms.util.Stopwatch;
import org.thoughtcrime.securesms.util.Util;
import org.whispersystems.libsignal.util.guava.Optional; import org.whispersystems.libsignal.util.guava.Optional;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.zip.GZIPOutputStream; import java.util.zip.GZIPOutputStream;
@ -91,7 +97,7 @@ public class SubmitDebugLogRepository {
add(new LogSectionLoggerHeader()); add(new LogSectionLoggerHeader());
}}; }};
private final Context context; private final Application context;
private final ExecutorService executor; private final ExecutorService executor;
public SubmitDebugLogRepository() { public SubmitDebugLogRepository() {

Wyświetl plik

@ -1,6 +1,6 @@
package org.thoughtcrime.securesms.profiles.manage; package org.thoughtcrime.securesms.profiles.manage;
import android.content.Context; import android.app.Application;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.WorkerThread; import androidx.annotation.WorkerThread;
@ -21,7 +21,7 @@ class UsernameEditRepository {
private static final String TAG = Log.tag(UsernameEditRepository.class); private static final String TAG = Log.tag(UsernameEditRepository.class);
private final Context application; private final Application application;
private final SignalServiceAccountManager accountManager; private final SignalServiceAccountManager accountManager;
private final Executor executor; private final Executor executor;

Wyświetl plik

@ -1,6 +1,6 @@
package org.thoughtcrime.securesms.profiles.manage; package org.thoughtcrime.securesms.profiles.manage;
import android.content.Context; import android.app.Application;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -22,7 +22,7 @@ class UsernameEditViewModel extends ViewModel {
private static final String TAG = Log.tag(UsernameEditViewModel.class); private static final String TAG = Log.tag(UsernameEditViewModel.class);
private final Context application; private final Application application;
private final MutableLiveData<State> uiState; private final MutableLiveData<State> uiState;
private final SingleLiveEvent<Event> events; private final SingleLiveEvent<Event> events;
private final UsernameEditRepository repo; private final UsernameEditRepository repo;

Wyświetl plik

@ -1,5 +1,6 @@
package org.thoughtcrime.securesms.registration; package org.thoughtcrime.securesms.registration;
import android.app.Application;
import android.content.Context; import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -57,9 +58,9 @@ public final class RegistrationRepository {
private static final String TAG = Log.tag(RegistrationRepository.class); private static final String TAG = Log.tag(RegistrationRepository.class);
private final Context context; private final Application context;
public RegistrationRepository(@NonNull Context context) { public RegistrationRepository(@NonNull Application context) {
this.context = context; this.context = context;
} }

Wyświetl plik

@ -1,6 +1,6 @@
package org.thoughtcrime.securesms.registration package org.thoughtcrime.securesms.registration
import android.content.Context import android.app.Application
import io.reactivex.rxjava3.core.Single import io.reactivex.rxjava3.core.Single
import io.reactivex.rxjava3.schedulers.Schedulers import io.reactivex.rxjava3.schedulers.Schedulers
import org.signal.core.util.logging.Log import org.signal.core.util.logging.Log
@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit
/** /**
* Request SMS/Phone verification codes to help prove ownership of a phone number. * Request SMS/Phone verification codes to help prove ownership of a phone number.
*/ */
class VerifyAccountRepository(private val context: Context) { class VerifyAccountRepository(private val context: Application) {
fun requestVerificationCode( fun requestVerificationCode(
e164: String, e164: String,

Wyświetl plik

@ -28,14 +28,7 @@ public final class DynamicLanguageContextWrapper {
return LocaleParser.findBestMatchingLocaleForLanguage(language); return LocaleParser.findBestMatchingLocaleForLanguage(language);
} }
public static @NonNull Context getUpdatedApplicationContext(@NonNull Context base) { public static void updateContext(@NonNull Context base) {
updateContext(base);
Configuration configuration = base.getResources().getConfiguration();
return base.createConfigurationContext(configuration);
}
private static void updateContext(@NonNull Context base) {
Configuration config = base.getResources().getConfiguration(); Configuration config = base.getResources().getConfiguration();
prepareOverrideConfiguration(base, config); prepareOverrideConfiguration(base, config);