diff options
author | Fil <fil.bergamo@riseup.net> | 2018-07-04 19:14:17 +0200 |
---|---|---|
committer | Fil <fil.bergamo@riseup.net> | 2018-07-04 19:29:53 +0200 |
commit | 121a4bec96d2f9b842c6d393d2b9c6356a9a4405 (patch) | |
tree | da1c557520d670def2f755492e3afd62ce891cf6 /app/src/fil/libre/repwifiapp/fwproxies/LinkPropertiesProxy.java | |
parent | a6b34d6c75109b831976bc872a5a0a47a08c1664 (diff) | |
download | RepWifiApp-121a4bec96d2f9b842c6d393d2b9c6356a9a4405.tar.gz RepWifiApp-121a4bec96d2f9b842c6d393d2b9c6356a9a4405.tar.bz2 RepWifiApp-121a4bec96d2f9b842c6d393d2b9c6356a9a4405.zip |
Add full integration with the Connectivity Frameworkv0.9-beta
Fixes Issue #1867 "Download app not working".
Uses proxy classes to hook into the application framework,
solving almost any problem with missing connectivity features,
creating a connection that is fully managed by the framework itself.
Introduces a background service that performs all backend operations.
Cleans up code design, refining structure of classes and entities.
Diffstat (limited to 'app/src/fil/libre/repwifiapp/fwproxies/LinkPropertiesProxy.java')
-rw-r--r-- | app/src/fil/libre/repwifiapp/fwproxies/LinkPropertiesProxy.java | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/app/src/fil/libre/repwifiapp/fwproxies/LinkPropertiesProxy.java b/app/src/fil/libre/repwifiapp/fwproxies/LinkPropertiesProxy.java new file mode 100644 index 0000000..4bfeeaa --- /dev/null +++ b/app/src/fil/libre/repwifiapp/fwproxies/LinkPropertiesProxy.java @@ -0,0 +1,90 @@ +// +// Copyright 2017, 2018 Filippo "Fil" Bergamo <fil.bergamo@riseup.net> +// +// This file is part of RepWifiApp. +// +// RepWifiApp is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// RepWifiApp 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with RepWifiApp. If not, see <http://www.gnu.org/licenses/>. +// +// ******************************************************************** +// +// This file is derivative work, inspired by the original class definition: +// "android.net.LinkProperties.java" as found in version 6.0 of the Android Operating System. +// Following is the original copyright notice: +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package fil.libre.repwifiapp.fwproxies; + +import java.net.InetAddress; + + +public class LinkPropertiesProxy extends FrameworkProxy{ + + @Override + protected String getInnerClassName(){ + return "android.net.LinkProperties"; + } + + public LinkPropertiesProxy(){ + createInnerObject(null); + } + + public LinkPropertiesProxy(LinkPropertiesProxy lp){ + createInnerObject(getInnerClass(), lp.inner); + } + + public void setInterfaceName(String iface) { + invokeMethod("setInterfaceName", String.class , iface); + } + + public boolean addRoute(RouteInfoProxy route) { + if (route == null){ + return false; + } + return (Boolean)invokeMethodGetResult("addRoute", route.getInnerClass(), route); + } + + public boolean addLinkAddress(LinkAddressProxy address) { + if (address == null){ + return false; + } + return (Boolean)invokeMethodGetResult("addLinkAddress",address.getInnerClass(), address); + } + + public boolean addDnsServer(InetAddress dnsServer) { + if (dnsServer == null){ + return false; + } + return (Boolean)invokeMethodGetResult("addDnsServer", InetAddress.class, dnsServer); + } + + protected static String getStaticInnerClassName(){ + return "android.net.LinkProperties"; + } + + +} |