From 35155e55841bc87b2c0e0dc577e1433041b44bc5 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 9 Jan 2022 17:50:22 +0530 Subject: Make PGPainless backend feature flag runtime configurable (#1654) * Make feature flags runtime configurable * Add a settings entry for PGPainless feature flag * Add changelog entry --- app/src/main/java/dev/msfjarvis/aps/ui/crypto/BasePgpActivity.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'app/src/main/java/dev/msfjarvis/aps/ui/crypto/BasePgpActivity.kt') diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/crypto/BasePgpActivity.kt b/app/src/main/java/dev/msfjarvis/aps/ui/crypto/BasePgpActivity.kt index 7c74a621..6ce1c057 100644 --- a/app/src/main/java/dev/msfjarvis/aps/ui/crypto/BasePgpActivity.kt +++ b/app/src/main/java/dev/msfjarvis/aps/ui/crypto/BasePgpActivity.kt @@ -24,13 +24,14 @@ import com.google.android.material.snackbar.Snackbar import dagger.hilt.android.AndroidEntryPoint import dev.msfjarvis.aps.R import dev.msfjarvis.aps.injection.prefs.SettingsPreferences -import dev.msfjarvis.aps.util.FeatureFlags import dev.msfjarvis.aps.util.extensions.OPENPGP_PROVIDER import dev.msfjarvis.aps.util.extensions.asLog import dev.msfjarvis.aps.util.extensions.clipboard import dev.msfjarvis.aps.util.extensions.getString import dev.msfjarvis.aps.util.extensions.snackbar import dev.msfjarvis.aps.util.extensions.unsafeLazy +import dev.msfjarvis.aps.util.features.Feature +import dev.msfjarvis.aps.util.features.Features import dev.msfjarvis.aps.util.services.ClipboardService import dev.msfjarvis.aps.util.settings.PreferenceKeys import java.io.File @@ -63,6 +64,8 @@ open class BasePgpActivity : AppCompatActivity(), OpenPgpServiceConnection.OnBou /** [SharedPreferences] instance used by subclasses to persist settings */ @SettingsPreferences @Inject lateinit var settings: SharedPreferences + @Inject lateinit var features: Features + /** * Handle to the [OpenPgpApi] instance that is used by subclasses to interface with OpenKeychain. */ @@ -127,7 +130,7 @@ open class BasePgpActivity : AppCompatActivity(), OpenPgpServiceConnection.OnBou /** Method for subclasses to initiate binding with [OpenPgpServiceConnection]. */ fun bindToOpenKeychain(onBoundListener: OpenPgpServiceConnection.OnBound) { - if (FeatureFlags.ENABLE_PGP_V2_BACKEND) return + if (features.isEnabled(Feature.EnablePGPainlessBackend)) return val installed = runCatching { packageManager.getPackageInfo(OPENPGP_PROVIDER, 0) -- cgit v1.2.3