比如自动设置mtproxy代理,冗长的代码我们怎么去找?
1)首先我们发现点代理链接能弹对话框,们可以在strings.xml中搜索得到:
<string name="UseProxyTelegramInfo2">This proxy may display a sponsored channel in your chat list. This doesn\'t reveal any of your Telegram traffic.</string>
<string name="UseProxyForCalls">Use proxy for calls</string>
2)我们在项目中寻找:UseProxyTelegramInfo2,发现D:\Telegram\TMessagesProj\src\main\java\org\telegram\messenger\AndroidUtilities.java
中有函数进行引用:
public static void showProxyAlert(Activity activity, final String address, final String port, final String user, final String password, final String secret)
函数最后提及:
ConnectionsManager.setProxySettings(true, address, p, user, password, secret);
NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.proxySettingsChanged);
这两句非常关键,调用了
D:\Telegram\TMessagesProj\src\main\java\org\telegram\tgnet\ConnectionsManager.java
文件中设置代理的函数。那么我们也可以在合适的位置自己调用,比如该类的
init函数中。
3)如果想自己动态设置代理,那么可以使用https在某个服务器下载JSON格式的配置文件,
得到里面的参数,设置即可。