From 484deaafdf1e72934de6088129d7299fef701972 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Sat, 13 Apr 2013 21:05:50 +0200 Subject: [PATCH] Android: always return an empty proxy There are no simple ways to find the right proxy on Android, even in Java. A proposed "solution" is suggested in the comments, but it would require JNI. Feel free to implement :) --- src/Makefile.am | 1 + src/android/netconf.c | 55 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 src/android/netconf.c diff --git a/src/Makefile.am b/src/Makefile.am index 2e3da576f6..2927c3e8ae 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -258,6 +258,7 @@ SOURCES_libvlc_android = \ android/dirs.c \ android/thread.c \ posix/filesystem.c \ + android/netconf.c \ posix/plugin.c \ posix/timer.c \ posix/linux_cpu.c \ diff --git a/src/android/netconf.c b/src/android/netconf.c new file mode 100644 index 0000000000..1ec2025047 --- /dev/null +++ b/src/android/netconf.c @@ -0,0 +1,55 @@ +/***************************************************************************** + * netconf.c : Network configuration + ***************************************************************************** + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include + +/* This is empty, of course + * + * The reason is that there is no simple way to get the proxy settings on all + * supported versions of Android, even from the Java side... + * + * The best way would be to follow this "solution" + * http://stackoverflow.com/questions/10811698/getting-wifi-proxy-settings-in-android/13616054#13616054 + * + * Or, in summary, using JNI: + * if( version >= 4.0 ) { + * System.getProperty( "http.proxyHost" ); + * System.getProperty( "http.proxyPort" ); + * } else { + * context = magically_find_context(); + * android.net.Proxy.getHost( context ); + * android.net.Proxy.getPort( context ); + * } + * + * */ + +/** + * Determines the network proxy server to use (if any). + * @param url absolute URL for which to get the proxy server + * @return proxy URL, NULL if no proxy or error + */ +char *vlc_getProxyUrl(const char *url) +{ + return NULL; +} -- 2.39.2