Implement several donor badge fixes and rotate flags.

* Add white Google Pay buttons for use in dark mode.
* Always display badges for self.
* Disallow toggling / feature selection if no network is present.
* Only display bottom sheet overscroll if content scrolls.
* Flatten settings xml for better animations.
* Add a bit of space to the bottom of subscribe fragment.
* Treat GooglePay errors as setup failures.
* Add quieter log for 404.
* Ensure we check case before initial currency code comparison.
* Fix timeout dialog copy.
* Fix double settings activity on top issue.
* Rotate FF.
This commit is contained in:
Alex Hart
2021-11-18 13:25:37 -04:00
committed by GitHub
parent 473747ee03
commit e17c49505c
95 changed files with 838 additions and 228 deletions

View File

@@ -84,9 +84,9 @@ public final class FeatureFlags {
private static final String MAX_GROUP_CALL_RING_SIZE = "global.calling.maxGroupCallRingSize";
private static final String GROUP_CALL_RINGING = "android.calling.groupCallRinging";
private static final String CHANGE_NUMBER_ENABLED = "android.changeNumber";
private static final String DONOR_BADGES = "android.donorBadges.5";
private static final String DONOR_BADGES = "android.donorBadges.6";
private static final String DONOR_BADGES_MEGAPHONE = "android.donorBadges.megaphone.3";
private static final String DONOR_BADGES_DISPLAY = "android.donorBadges.display.3";
private static final String DONOR_BADGES_DISPLAY = "android.donorBadges.display.4";
private static final String CDSH = "android.cdsh";
/**
@@ -427,7 +427,7 @@ public final class FeatureFlags {
* Whether or not donor badges should be displayed throughout the app.
*/
public static boolean displayDonorBadges() {
return getBoolean(DONOR_BADGES_DISPLAY, Environment.IS_STAGING);
return getBoolean(DONOR_BADGES_DISPLAY, false);
}
public static boolean cdsh() {

View File

@@ -0,0 +1,27 @@
package org.thoughtcrime.securesms.util
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.IntentFilter
import android.net.ConnectivityManager
import io.reactivex.rxjava3.core.Observable
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
import org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint
object InternetConnectionObserver {
fun observe(): Observable<Boolean> = Observable.create {
val application = ApplicationDependencies.getApplication()
val observer = object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
if (!it.isDisposed) {
it.onNext(NetworkConstraint.isMet(application))
}
}
}
it.setCancellable { application.unregisterReceiver(observer) }
application.registerReceiver(observer, IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION))
}
}