| OLD | NEW | 
| (Empty) |  | 
 |   1 /* | 
 |   2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
 |   3  * Copyright (C) 2006-2016 Eyeo GmbH | 
 |   4  * | 
 |   5  * Adblock Plus is free software: you can redistribute it and/or modify | 
 |   6  * it under the terms of the GNU General Public License version 3 as | 
 |   7  * published by the Free Software Foundation. | 
 |   8  * | 
 |   9  * Adblock Plus is distributed in the hope that it will be useful, | 
 |  10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
 |  12  * GNU General Public License for more details. | 
 |  13  * | 
 |  14  * You should have received a copy of the GNU General Public License | 
 |  15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
 |  16  */ | 
 |  17  | 
 |  18 package org.adblockplus.libadblockplus.android.settings; | 
 |  19  | 
 |  20 import android.content.Context; | 
 |  21 import android.net.ConnectivityManager; | 
 |  22 import android.net.NetworkInfo; | 
 |  23 import android.util.Log; | 
 |  24  | 
 |  25 import org.adblockplus.libadblockplus.IsAllowedConnectionCallback; | 
 |  26 import org.adblockplus.libadblockplus.android.Utils; | 
 |  27  | 
 |  28 public class IsAllowedConnectionCallbackImpl extends IsAllowedConnectionCallback | 
 |  29 { | 
 |  30   private static final String TAG = Utils.getTag(IsAllowedConnectionCallbackImpl
    .class); | 
 |  31  | 
 |  32   private ConnectivityManager manager; | 
 |  33  | 
 |  34   public IsAllowedConnectionCallbackImpl(Context context) | 
 |  35   { | 
 |  36     super(); | 
 |  37     this.manager = (ConnectivityManager) context.getSystemService(Context.CONNEC
    TIVITY_SERVICE); | 
 |  38   } | 
 |  39  | 
 |  40   @Override | 
 |  41   public boolean isConnectionAllowed(String connection) | 
 |  42   { | 
 |  43     Log.d(TAG, "Checking connection: " + connection); | 
 |  44  | 
 |  45     if (connection == null) | 
 |  46     { | 
 |  47       // required connection type is not specified - any works | 
 |  48       return true; | 
 |  49     } | 
 |  50  | 
 |  51     NetworkInfo info = manager.getActiveNetworkInfo(); | 
 |  52     if (info == null || !info.isConnected()) | 
 |  53     { | 
 |  54       // not connected | 
 |  55       return false; | 
 |  56     } | 
 |  57  | 
 |  58     ConnectionType connectionType = ConnectionType.findByValue(connection); | 
 |  59     if (connectionType == null) | 
 |  60     { | 
 |  61       Log.e(TAG, "Unknown connection type: " + connection); | 
 |  62       return false; | 
 |  63     } | 
 |  64  | 
 |  65     if (!connectionType.isRequiredConnection(manager)) | 
 |  66     { | 
 |  67       Log.w(TAG, "Current connection type is not allowed for web requests"); | 
 |  68       return false; | 
 |  69     } | 
 |  70  | 
 |  71     return true; | 
 |  72   } | 
 |  73 } | 
| OLD | NEW |