kopia lustrzana https://github.com/ryukoposting/Signal-Android
Add 'AnyAddressPorts' calling field trial flag.
rodzic
3f81a94176
commit
055ceba398
|
@ -105,6 +105,8 @@ import java.net.SocketException;
|
||||||
import java.net.SocketTimeoutException;
|
import java.net.SocketTimeoutException;
|
||||||
import java.security.Security;
|
import java.security.Security;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import io.reactivex.rxjava3.core.CompletableObserver;
|
import io.reactivex.rxjava3.core.CompletableObserver;
|
||||||
|
@ -164,7 +166,6 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr
|
||||||
.addBlocking("app-dependencies", this::initializeAppDependencies)
|
.addBlocking("app-dependencies", this::initializeAppDependencies)
|
||||||
.addBlocking("first-launch", this::initializeFirstEverAppLaunch)
|
.addBlocking("first-launch", this::initializeFirstEverAppLaunch)
|
||||||
.addBlocking("app-migrations", this::initializeApplicationMigrations)
|
.addBlocking("app-migrations", this::initializeApplicationMigrations)
|
||||||
.addBlocking("ring-rtc", this::initializeRingRtc)
|
|
||||||
.addBlocking("mark-registration", () -> RegistrationUtil.maybeMarkRegistrationComplete(this))
|
.addBlocking("mark-registration", () -> RegistrationUtil.maybeMarkRegistrationComplete(this))
|
||||||
.addBlocking("lifecycle-observer", () -> ApplicationDependencies.getAppForegroundObserver().addListener(this))
|
.addBlocking("lifecycle-observer", () -> ApplicationDependencies.getAppForegroundObserver().addListener(this))
|
||||||
.addBlocking("message-retriever", this::initializeMessageRetrieval)
|
.addBlocking("message-retriever", this::initializeMessageRetrieval)
|
||||||
|
@ -177,6 +178,7 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr
|
||||||
})
|
})
|
||||||
.addBlocking("blob-provider", this::initializeBlobProvider)
|
.addBlocking("blob-provider", this::initializeBlobProvider)
|
||||||
.addBlocking("feature-flags", FeatureFlags::init)
|
.addBlocking("feature-flags", FeatureFlags::init)
|
||||||
|
.addBlocking("ring-rtc", this::initializeRingRtc)
|
||||||
.addBlocking("glide", () -> SignalGlideModule.setRegisterGlideComponents(new SignalGlideComponents()))
|
.addBlocking("glide", () -> SignalGlideModule.setRegisterGlideComponents(new SignalGlideComponents()))
|
||||||
.addNonBlocking(this::checkIsGooglePayReady)
|
.addNonBlocking(this::checkIsGooglePayReady)
|
||||||
.addNonBlocking(this::cleanAvatarStorage)
|
.addNonBlocking(this::cleanAvatarStorage)
|
||||||
|
@ -416,7 +418,11 @@ public class ApplicationContext extends MultiDexApplication implements AppForegr
|
||||||
|
|
||||||
private void initializeRingRtc() {
|
private void initializeRingRtc() {
|
||||||
try {
|
try {
|
||||||
CallManager.initialize(this, new RingRtcLogger(), Collections.emptyMap());
|
Map<String, String> fieldTrials = new HashMap<>();
|
||||||
|
if (FeatureFlags.callingFieldTrialAnyAddressPortsKillSwitch()) {
|
||||||
|
fieldTrials.put("RingRTC-AnyAddressPortsKillSwitch", "Enabled");
|
||||||
|
}
|
||||||
|
CallManager.initialize(this, new RingRtcLogger(), fieldTrials);
|
||||||
} catch (UnsatisfiedLinkError e) {
|
} catch (UnsatisfiedLinkError e) {
|
||||||
throw new AssertionError("Unable to load ringrtc library", e);
|
throw new AssertionError("Unable to load ringrtc library", e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,6 +105,7 @@ public final class FeatureFlags {
|
||||||
private static final String PAYPAL_ONE_TIME_DONATIONS = "android.oneTimePayPalDonations.2";
|
private static final String PAYPAL_ONE_TIME_DONATIONS = "android.oneTimePayPalDonations.2";
|
||||||
private static final String PAYPAL_RECURRING_DONATIONS = "android.recurringPayPalDonations.3";
|
private static final String PAYPAL_RECURRING_DONATIONS = "android.recurringPayPalDonations.3";
|
||||||
private static final String TEXT_FORMATTING = "android.textFormatting";
|
private static final String TEXT_FORMATTING = "android.textFormatting";
|
||||||
|
private static final String ANY_ADDRESS_PORTS_KILL_SWITCH = "android.calling.fieldTrial.anyAddressPortsKillSwitch";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* We will only store remote values for flags in this set. If you want a flag to be controllable
|
* We will only store remote values for flags in this set. If you want a flag to be controllable
|
||||||
|
@ -160,7 +161,8 @@ public final class FeatureFlags {
|
||||||
CHAT_FILTERS,
|
CHAT_FILTERS,
|
||||||
PAYPAL_ONE_TIME_DONATIONS,
|
PAYPAL_ONE_TIME_DONATIONS,
|
||||||
PAYPAL_RECURRING_DONATIONS,
|
PAYPAL_RECURRING_DONATIONS,
|
||||||
TEXT_FORMATTING
|
TEXT_FORMATTING,
|
||||||
|
ANY_ADDRESS_PORTS_KILL_SWITCH
|
||||||
);
|
);
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
@ -574,6 +576,13 @@ public final class FeatureFlags {
|
||||||
return getBoolean(TEXT_FORMATTING, false);
|
return getBoolean(TEXT_FORMATTING, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable/disable RingRTC field trial for "AnyAddressPortsKillSwitch"
|
||||||
|
*/
|
||||||
|
public static boolean callingFieldTrialAnyAddressPortsKillSwitch() {
|
||||||
|
return getBoolean(ANY_ADDRESS_PORTS_KILL_SWITCH, false);
|
||||||
|
}
|
||||||
|
|
||||||
/** Only for rendering debug info. */
|
/** Only for rendering debug info. */
|
||||||
public static synchronized @NonNull Map<String, Object> getMemoryValues() {
|
public static synchronized @NonNull Map<String, Object> getMemoryValues() {
|
||||||
return new TreeMap<>(REMOTE_VALUES);
|
return new TreeMap<>(REMOTE_VALUES);
|
||||||
|
|
Ładowanie…
Reference in New Issue