diff --git a/android/app/src/main/java/com/rscordmobile/CustomSslFactory.java b/android/app/src/main/java/com/rscordmobile/CustomSslFactory.java deleted file mode 100644 index 22e9051..0000000 --- a/android/app/src/main/java/com/rscordmobile/CustomSslFactory.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.rscordmobile; - -import android.content.Context; - -import com.facebook.react.modules.network.OkHttpClientFactory; -import com.facebook.react.modules.network.OkHttpClientProvider; -import com.facebook.react.modules.network.ReactCookieJarContainer; - -import java.io.InputStream; -import java.security.KeyStore; -import java.security.SecureRandom; -import java.security.cert.Certificate; -import java.security.cert.CertificateFactory; - -import javax.net.ssl.SSLContext; -import javax.net.ssl.TrustManagerFactory; -import javax.net.ssl.X509TrustManager; - -import okhttp3.OkHttpClient; - -public class CustomSslFactory implements OkHttpClientFactory { - private final Context context; - - public CustomSslFactory(Context context) { - this.context = context; - } - - private final int[] certResIds = new int[] { - R.raw.isrgrootx1, - R.raw.isrgrootx2 - }; - - @Override - public OkHttpClient createNewNetworkModuleClient() { - try { - CertificateFactory cf = CertificateFactory.getInstance("X.509"); - - KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); - keyStore.load(null, null); - - for (int i = 0; i < certResIds.length; i++) { - InputStream caInput = context.getResources().openRawResource(certResIds[i]); - Certificate ca; - try { - ca = cf.generateCertificate(caInput); - } finally { - caInput.close(); - } - keyStore.setCertificateEntry("cert_" + i, ca); - } - - TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); - tmf.init(keyStore); - X509TrustManager trustManager = (X509TrustManager) tmf.getTrustManagers()[0]; - - SSLContext sslContext = SSLContext.getInstance("TLS"); - sslContext.init(null, tmf.getTrustManagers(), new SecureRandom()); - - OkHttpClient client = new OkHttpClient.Builder() - .sslSocketFactory(sslContext.getSocketFactory(), trustManager) - .hostnameVerifier((hostname, session) -> true) - .cookieJar(new ReactCookieJarContainer()) - .build(); - - return client; - } catch (Exception e) { - throw new RuntimeException("Failed to create custom SSL client", e); - } - } -} \ No newline at end of file diff --git a/android/app/src/main/java/com/rscordmobile/MainApplication.java b/android/app/src/main/java/com/rscordmobile/MainApplication.java index ff7a9e4..da478d8 100644 --- a/android/app/src/main/java/com/rscordmobile/MainApplication.java +++ b/android/app/src/main/java/com/rscordmobile/MainApplication.java @@ -1,5 +1,5 @@ package com.rscordmobile; -import com.facebook.react.modules.network.OkHttpClientProvider; + import android.app.Application; import android.content.Context; import android.os.Build; @@ -44,7 +44,6 @@ public class MainApplication extends Application implements ReactApplication { @Override public void onCreate() { super.onCreate(); - OkHttpClientProvider.setOkHttpClientFactory(new CustomSslFactory(this)); SoLoader.init(this, /* native exopackage */ false); } } diff --git a/src/components/themed-sheet.tsx b/src/components/themed-sheet.tsx index cb45796..8a57a35 100644 --- a/src/components/themed-sheet.tsx +++ b/src/components/themed-sheet.tsx @@ -1,6 +1,7 @@ import { useActionSheet, ActionSheetOptions } from "@expo/react-native-action-sheet"; import { useThemeColor } from "../lib/hooks/use-theme-color"; -import { Platform, BackHandler, useColorScheme } from "react-native"; +import { useColorScheme } from "../lib/hooks/use-color-scheme"; +import { Platform, BackHandler } from "react-native"; export function useThemedActionSheet() { const { showActionSheetWithOptions } = useActionSheet(); @@ -10,7 +11,7 @@ export function useThemedActionSheet() { const notifColor = useThemeColor("notification"); const colorScheme = useColorScheme(); - const rippleColor = colorScheme === "dark" ? "#3a3b3d" : "#d0d2d5"; + const rippleColor = colorScheme === "dark" ? "#3a3b3d" : "rgba(255, 255, 255)"; const show = (options: ActionSheetOptions, callback: (index?: number) => void) => { if (Platform.OS === "android") {