diff options
Diffstat (limited to 'app/src/main/java/app/fedilab/android/mastodon/activities/BaseFragmentActivity.java')
-rw-r--r-- | app/src/main/java/app/fedilab/android/mastodon/activities/BaseFragmentActivity.java | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/app/src/main/java/app/fedilab/android/mastodon/activities/BaseFragmentActivity.java b/app/src/main/java/app/fedilab/android/mastodon/activities/BaseFragmentActivity.java index 30e158d24..1edf6ea59 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/activities/BaseFragmentActivity.java +++ b/app/src/main/java/app/fedilab/android/mastodon/activities/BaseFragmentActivity.java @@ -15,12 +15,20 @@ package app.fedilab.android.mastodon.activities; * see <http://www.gnu.org/licenses>. */ import android.annotation.SuppressLint; +import android.content.SharedPreferences; +import android.os.Bundle; +import androidx.annotation.Nullable; import androidx.fragment.app.FragmentActivity; +import androidx.preference.PreferenceManager; import com.vanniktech.emoji.EmojiManager; import com.vanniktech.emoji.one.EmojiOneProvider; +import org.conscrypt.Conscrypt; + +import java.security.Security; + import app.fedilab.android.mastodon.helper.Helper; @@ -29,9 +37,23 @@ public class BaseFragmentActivity extends FragmentActivity { static { - Helper.installProvider(); EmojiManager.install(new EmojiOneProvider()); } - + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + boolean patch_provider = true; + try { + SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(this); + patch_provider = sharedpreferences.getBoolean(Helper.SET_SECURITY_PROVIDER, true); + } catch (Exception ignored) { + } + if (patch_provider) { + try { + Security.insertProviderAt(Conscrypt.newProvider(), 1); + } catch (Exception ignored) { + } + } + super.onCreate(savedInstanceState); + } } |