Remove/move unused files
This commit is contained in:
parent
038f73a5f7
commit
1b9d8e068a
4
app/shared/proguard-rules.pro
vendored
4
app/shared/proguard-rules.pro
vendored
@ -19,7 +19,3 @@
|
|||||||
# If you keep the line number information, uncomment this to
|
# If you keep the line number information, uncomment this to
|
||||||
# hide the original source file name.
|
# hide the original source file name.
|
||||||
#-renamesourcefileattribute SourceFile
|
#-renamesourcefileattribute SourceFile
|
||||||
|
|
||||||
-keepclassmembers class * extends javax.net.ssl.SSLSocketFactory {
|
|
||||||
** delegate;
|
|
||||||
}
|
|
||||||
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.topjohnwu.magisk;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
public class ProviderInstaller {
|
||||||
|
|
||||||
|
public static boolean install(Context context) {
|
||||||
|
try {
|
||||||
|
// Try installing new SSL provider from Google Play Service
|
||||||
|
Context gms = context.createPackageContext("com.google.android.gms",
|
||||||
|
Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY);
|
||||||
|
gms.getClassLoader()
|
||||||
|
.loadClass("com.google.android.gms.common.security.ProviderInstallerImpl")
|
||||||
|
.getMethod("insertProvider", Context.class)
|
||||||
|
.invoke(null, gms);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -1,70 +0,0 @@
|
|||||||
package com.topjohnwu.magisk.net;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.net.Socket;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.net.ssl.HttpsURLConnection;
|
|
||||||
import javax.net.ssl.SSLSocket;
|
|
||||||
import javax.net.ssl.SSLSocketFactory;
|
|
||||||
|
|
||||||
public class NoSSLv3SocketFactory extends SSLSocketFactory {
|
|
||||||
|
|
||||||
private final static SSLSocketFactory delegate = HttpsURLConnection.getDefaultSSLSocketFactory();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String[] getDefaultCipherSuites() {
|
|
||||||
return delegate.getDefaultCipherSuites();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String[] getSupportedCipherSuites() {
|
|
||||||
return delegate.getSupportedCipherSuites();
|
|
||||||
}
|
|
||||||
|
|
||||||
private Socket createSafeSocket(Socket socket) {
|
|
||||||
if (socket instanceof SSLSocket)
|
|
||||||
return new SSLSocketWrapper((SSLSocket) socket) {
|
|
||||||
@Override
|
|
||||||
public void setEnabledProtocols(String[] protocols) {
|
|
||||||
List<String> proto = new ArrayList<>(Arrays.asList(getSupportedProtocols()));
|
|
||||||
proto.remove("SSLv3");
|
|
||||||
super.setEnabledProtocols(proto.toArray(new String[0]));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return socket;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException {
|
|
||||||
return createSafeSocket(delegate.createSocket(s, host, port, autoClose));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Socket createSocket() throws IOException {
|
|
||||||
return createSafeSocket(delegate.createSocket());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Socket createSocket(String host, int port) throws IOException {
|
|
||||||
return createSafeSocket(delegate.createSocket(host, port));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException {
|
|
||||||
return createSafeSocket(delegate.createSocket(host, port, localHost, localPort));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Socket createSocket(InetAddress host, int port) throws IOException {
|
|
||||||
return createSafeSocket(delegate.createSocket(host, port));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort) throws IOException {
|
|
||||||
return createSafeSocket(delegate.createSocket(address, port, localAddress, localPort));
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,333 +0,0 @@
|
|||||||
package com.topjohnwu.magisk.net;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.net.SocketAddress;
|
|
||||||
import java.net.SocketException;
|
|
||||||
import java.nio.channels.SocketChannel;
|
|
||||||
|
|
||||||
import javax.net.ssl.HandshakeCompletedListener;
|
|
||||||
import javax.net.ssl.SSLParameters;
|
|
||||||
import javax.net.ssl.SSLSession;
|
|
||||||
import javax.net.ssl.SSLSocket;
|
|
||||||
|
|
||||||
class SSLSocketWrapper extends SSLSocket {
|
|
||||||
|
|
||||||
private SSLSocket mBase;
|
|
||||||
|
|
||||||
SSLSocketWrapper(SSLSocket socket) {
|
|
||||||
mBase = socket;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String[] getSupportedCipherSuites() {
|
|
||||||
return mBase.getSupportedCipherSuites();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String[] getEnabledCipherSuites() {
|
|
||||||
return mBase.getEnabledCipherSuites();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setEnabledCipherSuites(String[] suites) {
|
|
||||||
mBase.setEnabledCipherSuites(suites);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String[] getSupportedProtocols() {
|
|
||||||
return mBase.getSupportedProtocols();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String[] getEnabledProtocols() {
|
|
||||||
return mBase.getEnabledProtocols();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setEnabledProtocols(String[] protocols) {
|
|
||||||
mBase.setEnabledProtocols(protocols);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SSLSession getSession() {
|
|
||||||
return mBase.getSession();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SSLSession getHandshakeSession() {
|
|
||||||
throw new UnsupportedOperationException();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void addHandshakeCompletedListener(HandshakeCompletedListener listener) {
|
|
||||||
mBase.addHandshakeCompletedListener(listener);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void removeHandshakeCompletedListener(HandshakeCompletedListener listener) {
|
|
||||||
mBase.removeHandshakeCompletedListener(listener);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void startHandshake() throws IOException {
|
|
||||||
mBase.startHandshake();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setUseClientMode(boolean mode) {
|
|
||||||
mBase.setUseClientMode(mode);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getUseClientMode() {
|
|
||||||
return mBase.getUseClientMode();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setNeedClientAuth(boolean need) {
|
|
||||||
mBase.setNeedClientAuth(need);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getNeedClientAuth() {
|
|
||||||
return mBase.getNeedClientAuth();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setWantClientAuth(boolean want) {
|
|
||||||
mBase.setWantClientAuth(want);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getWantClientAuth() {
|
|
||||||
return mBase.getWantClientAuth();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setEnableSessionCreation(boolean flag) {
|
|
||||||
mBase.setEnableSessionCreation(flag);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getEnableSessionCreation() {
|
|
||||||
return mBase.getEnableSessionCreation();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SSLParameters getSSLParameters() {
|
|
||||||
return mBase.getSSLParameters();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setSSLParameters(SSLParameters params) {
|
|
||||||
mBase.setSSLParameters(params);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return mBase.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void connect(SocketAddress endpoint) throws IOException {
|
|
||||||
mBase.connect(endpoint);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void connect(SocketAddress endpoint, int timeout) throws IOException {
|
|
||||||
mBase.connect(endpoint, timeout);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void bind(SocketAddress bindpoint) throws IOException {
|
|
||||||
mBase.bind(bindpoint);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public InetAddress getInetAddress() {
|
|
||||||
return mBase.getInetAddress();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public InetAddress getLocalAddress() {
|
|
||||||
return mBase.getLocalAddress();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getPort() {
|
|
||||||
return mBase.getPort();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getLocalPort() {
|
|
||||||
return mBase.getLocalPort();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SocketAddress getRemoteSocketAddress() {
|
|
||||||
return mBase.getRemoteSocketAddress();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SocketAddress getLocalSocketAddress() {
|
|
||||||
return mBase.getLocalSocketAddress();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SocketChannel getChannel() {
|
|
||||||
return mBase.getChannel();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public InputStream getInputStream() throws IOException {
|
|
||||||
return mBase.getInputStream();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public OutputStream getOutputStream() throws IOException {
|
|
||||||
return mBase.getOutputStream();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setTcpNoDelay(boolean on) throws SocketException {
|
|
||||||
mBase.setTcpNoDelay(on);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getTcpNoDelay() throws SocketException {
|
|
||||||
return mBase.getTcpNoDelay();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setSoLinger(boolean on, int linger) throws SocketException {
|
|
||||||
mBase.setSoLinger(on, linger);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getSoLinger() throws SocketException {
|
|
||||||
return mBase.getSoLinger();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void sendUrgentData(int data) throws IOException {
|
|
||||||
mBase.sendUrgentData(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setOOBInline(boolean on) throws SocketException {
|
|
||||||
mBase.setOOBInline(on);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getOOBInline() throws SocketException {
|
|
||||||
return mBase.getOOBInline();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setSoTimeout(int timeout) throws SocketException {
|
|
||||||
mBase.setSoTimeout(timeout);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getSoTimeout() throws SocketException {
|
|
||||||
return mBase.getSoTimeout();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setSendBufferSize(int size) throws SocketException {
|
|
||||||
mBase.setSendBufferSize(size);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getSendBufferSize() throws SocketException {
|
|
||||||
return mBase.getSendBufferSize();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setReceiveBufferSize(int size) throws SocketException {
|
|
||||||
mBase.setReceiveBufferSize(size);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getReceiveBufferSize() throws SocketException {
|
|
||||||
return mBase.getReceiveBufferSize();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setKeepAlive(boolean on) throws SocketException {
|
|
||||||
mBase.setKeepAlive(on);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getKeepAlive() throws SocketException {
|
|
||||||
return mBase.getKeepAlive();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setTrafficClass(int tc) throws SocketException {
|
|
||||||
mBase.setTrafficClass(tc);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getTrafficClass() throws SocketException {
|
|
||||||
return mBase.getTrafficClass();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setReuseAddress(boolean on) throws SocketException {
|
|
||||||
mBase.setReuseAddress(on);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getReuseAddress() throws SocketException {
|
|
||||||
return mBase.getReuseAddress();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void close() throws IOException {
|
|
||||||
mBase.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void shutdownInput() throws IOException {
|
|
||||||
mBase.shutdownInput();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void shutdownOutput() throws IOException {
|
|
||||||
mBase.shutdownOutput();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isConnected() {
|
|
||||||
return mBase.isConnected();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isBound() {
|
|
||||||
return mBase.isBound();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isClosed() {
|
|
||||||
return mBase.isClosed();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isInputShutdown() {
|
|
||||||
return mBase.isInputShutdown();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isOutputShutdown() {
|
|
||||||
return mBase.isOutputShutdown();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setPerformancePreferences(int connectionTime, int latency, int bandwidth) {
|
|
||||||
mBase.setPerformancePreferences(connectionTime, latency, bandwidth);
|
|
||||||
}
|
|
||||||
}
|
|
@ -3,10 +3,10 @@ package com.topjohnwu.magisk.di
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import com.squareup.moshi.Moshi
|
import com.squareup.moshi.Moshi
|
||||||
import com.topjohnwu.magisk.BuildConfig
|
import com.topjohnwu.magisk.BuildConfig
|
||||||
|
import com.topjohnwu.magisk.ProviderInstaller
|
||||||
import com.topjohnwu.magisk.core.Config
|
import com.topjohnwu.magisk.core.Config
|
||||||
import com.topjohnwu.magisk.core.Info
|
import com.topjohnwu.magisk.core.Info
|
||||||
import com.topjohnwu.magisk.ktx.precomputedText
|
import com.topjohnwu.magisk.ktx.precomputedText
|
||||||
import com.topjohnwu.magisk.net.Networking
|
|
||||||
import com.topjohnwu.magisk.utils.MarkwonImagePlugin
|
import com.topjohnwu.magisk.utils.MarkwonImagePlugin
|
||||||
import io.noties.markwon.Markwon
|
import io.noties.markwon.Markwon
|
||||||
import io.noties.markwon.html.HtmlPlugin
|
import io.noties.markwon.html.HtmlPlugin
|
||||||
@ -61,7 +61,7 @@ fun createOkHttpClient(context: Context): OkHttpClient {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Networking.init(context)) {
|
if (!ProviderInstaller.install(context)) {
|
||||||
Info.hasGMS = false
|
Info.hasGMS = false
|
||||||
}
|
}
|
||||||
builder.dns(DnsResolver(builder.build()))
|
builder.dns(DnsResolver(builder.build()))
|
||||||
|
@ -3,7 +3,6 @@ package com.topjohnwu.magisk.net;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.NetworkInfo;
|
import android.net.NetworkInfo;
|
||||||
import android.os.Build;
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
|
|
||||||
@ -11,8 +10,6 @@ import java.io.IOException;
|
|||||||
import java.net.HttpURLConnection;
|
import java.net.HttpURLConnection;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
|
||||||
import javax.net.ssl.HttpsURLConnection;
|
|
||||||
|
|
||||||
public class Networking {
|
public class Networking {
|
||||||
|
|
||||||
private static final int READ_TIMEOUT = 15000;
|
private static final int READ_TIMEOUT = 15000;
|
||||||
@ -35,25 +32,6 @@ public class Networking {
|
|||||||
return request(url, "GET");
|
return request(url, "GET");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean init(Context context) {
|
|
||||||
try {
|
|
||||||
// Try installing new SSL provider from Google Play Service
|
|
||||||
Context gms = context.createPackageContext("com.google.android.gms",
|
|
||||||
Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY);
|
|
||||||
gms.getClassLoader()
|
|
||||||
.loadClass("com.google.android.gms.common.security.ProviderInstallerImpl")
|
|
||||||
.getMethod("insertProvider", Context.class)
|
|
||||||
.invoke(null, gms);
|
|
||||||
} catch (Exception e) {
|
|
||||||
if (Build.VERSION.SDK_INT < 21) {
|
|
||||||
// Failed to update SSL provider, use NoSSLv3SocketFactory on SDK < 21
|
|
||||||
HttpsURLConnection.setDefaultSSLSocketFactory(new NoSSLv3SocketFactory());
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean checkNetworkStatus(Context context) {
|
public static boolean checkNetworkStatus(Context context) {
|
||||||
ConnectivityManager manager = (ConnectivityManager)
|
ConnectivityManager manager = (ConnectivityManager)
|
||||||
context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
Loading…
Reference in New Issue
Block a user