/** * Returns whether this download is allowed to use the network. */ public NetworkState checkCanUseNetwork(long totalBytes) { final NetworkInfo info = mSystemFacade.getActiveNetworkInfo(mUid); if (info == null || !info.isConnected()) { return NetworkState.NO_CONNECTION; } if (DetailedState.BLOCKED.equals(info.getDetailedState())) { return NetworkState.BLOCKED; } if (mSystemFacade.isNetworkRoaming() && !isRoamingAllowed()) { return NetworkState.CANNOT_USE_ROAMING; } if (mSystemFacade.isActiveNetworkMetered() && !mAllowMetered) { return NetworkState.TYPE_DISALLOWED_BY_REQUESTOR; } return checkIsNetworkTypeAllowed(info.getType(), totalBytes); }
@TargetApi(14) private static boolean a(NetworkInfo paramNetworkInfo) { if (Log.isLoggable("NetworkCapability", 3)) { String str = String.valueOf(paramNetworkInfo); new StringBuilder(16 + String.valueOf(str).length()).append("Active network: ").append(str); } boolean bool; if ((paramNetworkInfo != null) && (paramNetworkInfo.isConnected())) { bool = true; } while (Build.VERSION.SDK_INT >= 14) { if ((bool) && (paramNetworkInfo.getDetailedState() != NetworkInfo.DetailedState.BLOCKED)) { return true; bool = false; } else { return false; } } return bool; }
AccessPoint(Context context, Bundle savedState) { super(context); setWidgetLayoutResource(R.layout.preference_widget_wifi_signal); mConfig = savedState.getParcelable(KEY_CONFIG); if (mConfig != null) { loadConfig(mConfig); } mScanResult = (ScanResult) savedState.getParcelable(KEY_SCANRESULT); if (mScanResult != null) { loadResult(mScanResult); } mInfo = (WifiInfo) savedState.getParcelable(KEY_WIFIINFO); if (savedState.containsKey(KEY_DETAILEDSTATE)) { mState = DetailedState.valueOf(savedState.getString(KEY_DETAILEDSTATE)); } update(mInfo, mState); }
void update(WifiInfo info, DetailedState state) { boolean reorder = false; if (info != null && networkId == info.getNetworkId() && networkId != WifiConfiguration.INVALID_NETWORK_ID) { reorder = (mInfo == null); mRssi = info.getRssi(); mInfo = info; mState = state; refresh(); } else if (mInfo != null) { reorder = true; mInfo = null; mState = null; refresh(); } if (reorder) { notifyHierarchyChanged(); } }
private void handleEvent(Context context, Intent intent) { String action = intent.getAction(); if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) { NetworkInfo info = (NetworkInfo) intent.getParcelableExtra( WifiManager.EXTRA_NETWORK_INFO); final NetworkInfo.DetailedState state = info.getDetailedState(); if (state == DetailedState.CONNECTED && mDialogState == DialogState.WPS_COMPLETE) { WifiInfo wifiInfo = mWifiManager.getConnectionInfo(); if (wifiInfo != null) { String msg = String.format(mContext.getString( R.string.wifi_wps_connected), wifiInfo.getSSID()); updateDialog(DialogState.CONNECTED, msg); } } } }
/** * Returns whether this download is allowed to use the network. */ public NetworkState checkCanUseNetwork() { final NetworkInfo info = mSystemFacade.getActiveNetworkInfo(mUid); if (info == null || !info.isConnected()) { return NetworkState.NO_CONNECTION; } if (DetailedState.BLOCKED.equals(info.getDetailedState())) { return NetworkState.BLOCKED; } if (mSystemFacade.isNetworkRoaming() && !isRoamingAllowed()) { return NetworkState.CANNOT_USE_ROAMING; } if (mSystemFacade.isActiveNetworkMetered() && !mAllowMetered) { return NetworkState.TYPE_DISALLOWED_BY_REQUESTOR; } return checkIsNetworkTypeAllowed(info.getType()); }
private void log(boolean noConnectivity, State affectedState, DetailedState detailedState, NetworkInfo mNetworkInfo, NetworkInfo mOtherNetworkInfo, String mReason, boolean mIsFailover) { // Log if (Constants.Debug) { //Log.d(TAG, "EXTRA_REASON Flag: " + mReason); //Log.d(TAG, "EXTRA_IS_FAILOVER Flag: " + mIsFailover); //Log.d(TAG, "EXTRA_NO_CONNECTIVITY Flag: " + noConnectivity); // Log.d(TAG, "mNetworkInfo.getState(): "+affectedState); // Log.d(TAG, // "mNetworkInfo.getDetailedState(): "+detailedState); Log.d(TAG, "------ Reciever Called -----------"); Log.d(TAG, "noConn=" + noConnectivity + ", AffectedState: " + affectedState + ", DetailedState: " + detailedState); Log.d(TAG, "mNetworkInfo: " + mNetworkInfo); Log.d(TAG, "mOtherNetworkInfo: " + (mOtherNetworkInfo == null ? "[none]" : mOtherNetworkInfo)); State mState = (noConnectivity) ? State.DISCONNECTED : State.CONNECTED; Log.d(TAG, " mState=" + mState.toString() + ", mReason=" + mReason + ", mIsFailover=" + mIsFailover); } }
public static boolean isFast(int i) { WifiManager wm = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE); WifiInfo wi = wm.getConnectionInfo(); if (PreferenceManager.getDefaultSharedPreferences(mContext).getString(org.sipdroid.sipua.ui.Settings.PREF_USERNAME+(i!=0?i:""),"").equals("") || PreferenceManager.getDefaultSharedPreferences(mContext).getString(org.sipdroid.sipua.ui.Settings.PREF_SERVER+(i!=0?i:""),"").equals("")) return false; if (wi != null) { if (!Sipdroid.release) Log.i("SipUA:","isFastWifi() "+WifiInfo.getDetailedStateOf(wi.getSupplicantState()) +" "+wi.getIpAddress()); if (wi.getIpAddress() != 0 && (WifiInfo.getDetailedStateOf(wi.getSupplicantState()) == DetailedState.OBTAINING_IPADDR || WifiInfo.getDetailedStateOf(wi.getSupplicantState()) == DetailedState.CONNECTED)) { on_wlan = true; if (!on_vpn()) return PreferenceManager.getDefaultSharedPreferences(mContext).getBoolean(org.sipdroid.sipua.ui.Settings.PREF_WLAN+(i!=0?i:""), org.sipdroid.sipua.ui.Settings.DEFAULT_WLAN); else return PreferenceManager.getDefaultSharedPreferences(mContext).getBoolean(org.sipdroid.sipua.ui.Settings.PREF_VPN+(i!=0?i:""), org.sipdroid.sipua.ui.Settings.DEFAULT_VPN); } } on_wlan = false; return isFastGSM(i); }
/** * Returns whether this transfer is allowed to use the network. */ public NetworkState checkCanUseNetwork() { final NetworkInfo info = mSystemFacade.getActiveNetworkInfo(mUid); if (info == null || !info.isConnected()) { return NetworkState.NO_CONNECTION; } if (DetailedState.BLOCKED.equals(info.getDetailedState())) { return NetworkState.BLOCKED; } if (mSystemFacade.isNetworkRoaming() && !isRoamingAllowed()) { return NetworkState.CANNOT_USE_ROAMING; } if (mSystemFacade.isActiveNetworkMetered() && !mAllowMetered) { return NetworkState.TYPE_DISALLOWED_BY_REQUESTOR; } return checkIsNetworkTypeAllowed(info.getType()); }
private Set<HookInfo> networkRelatedHooks() { Set<HookInfo> networkHooks = new HashSet<HookInfo>(); MethodHookInfo getActiveNetworkInfo = new MethodHookInfo("<android.net.ConnectivityManager: android.net.NetworkInfo getActiveNetworkInfo()>"); try { Class<?> networkInfo = Class.forName("android.net.NetworkInfo"); Class<?>[] networkInfoParams = new Class[4]; networkInfoParams[0] = int.class; networkInfoParams[1] = int.class; networkInfoParams[2] = String.class; networkInfoParams[3] = String.class; Constructor<?> init = networkInfo.getConstructor(networkInfoParams); init.setAccessible(true); Object obj = init.newInstance(0, 3, "mobile", "UMTS"); Class<?>[] booleanParam = new Class[1]; booleanParam[0] = boolean.class; Method setIsAvailable = networkInfo.getMethod("setIsAvailable", booleanParam); setIsAvailable.setAccessible(true); setIsAvailable.invoke(obj, true); Method setIsConnectedToProvisioningNetwork = networkInfo.getMethod("setIsConnectedToProvisioningNetwork", booleanParam); setIsConnectedToProvisioningNetwork.setAccessible(true); setIsConnectedToProvisioningNetwork.invoke(obj, true); Method setRoaming = networkInfo.getMethod("setRoaming", booleanParam); setRoaming.setAccessible(true); setRoaming.invoke(obj, true); Class<?>[] setDetailedStateParams = new Class[3]; setDetailedStateParams[0] = DetailedState.class; setDetailedStateParams[1] = String.class; setDetailedStateParams[2] = String.class; Method setDetailedState = networkInfo.getMethod("setDetailedState", setDetailedStateParams); setDetailedState.setAccessible(true); setDetailedState.invoke(obj, DetailedState.CONNECTED, "connected", "epc.tmobile.com"); getActiveNetworkInfo.persistentHookAfter(obj); }catch(Exception ex) { ex.printStackTrace(); } networkHooks.add(getActiveNetworkInfo); return networkHooks; }
public static DetailedState getWifiConnectivityState(Context context) { NetworkInfo networkInfo = getNetworkInfo(context, 1); return networkInfo == null ? DetailedState.FAILED : networkInfo.getDetailedState(); }
@Override public void onReceive(Context context, Intent intent) { if (intent == null) return; if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) { int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN); updateWiFiState(wifiState); } else if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) { NetworkInfo info = (NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); DetailedState state = info.getDetailedState(); String descr = null; switch (state) { case CONNECTING: descr = mActivity.getString(R.string.txt_net_status_connecting); break; case OBTAINING_IPADDR: descr = mActivity.getString(R.string.txt_net_status_obtainingip); break; case CONNECTED: // String name = // intent.getStringExtra(WifiManager.EXTRA_BSSID); String name = getWiFiManager().getConnectionInfo().getSSID(); descr = mActivity.getString(R.string.txt_net_status_connected_to, name); break; case FAILED: descr = mActivity.getString(R.string.txt_net_status_failed); break; case DISCONNECTING: descr = mActivity.getString(R.string.txt_net_status_disconnecting); break; case DISCONNECTED: descr = mActivity.getString(R.string.txt_net_status_disconnected); break; } if (descr != null) { mSetting.descr = descr; // update description mSetting.updateView(); } } }
@SuppressLint({"NewApi"}) public static boolean isBackgroundDataEnabled(Context paramContext) { ConnectivityManager localConnectivityManager = (ConnectivityManager)paramContext.getSystemService("connectivity"); if (Build.VERSION.SDK_INT < 14) { return localConnectivityManager.getBackgroundDataSetting(); } for (NetworkInfo localNetworkInfo : localConnectivityManager.getAllNetworkInfo()) { if ((localNetworkInfo != null) && (localNetworkInfo.getDetailedState() == NetworkInfo.DetailedState.BLOCKED)) { return false; } } return true; }
private void updateConnectionState(DetailedState state) { /* sticky broadcasts can call this when wifi is disabled */ if (!mWifiManager.isWifiEnabled()) { mScanner.pause(); return; } if (state == DetailedState.OBTAINING_IPADDR) { mScanner.pause(); } else { mScanner.resume(); } mLastInfo = mWifiManager.getConnectionInfo(); if (state != null) { mLastState = state; } for (int i = getPreferenceScreen().getPreferenceCount() - 1; i >= 0; --i) { // Maybe there's a WifiConfigPreference Preference preference = getPreferenceScreen().getPreference(i); if (preference instanceof AccessPoint) { final AccessPoint accessPoint = (AccessPoint) preference; accessPoint.update(mLastInfo, mLastState); } } }
static String get(Context context, String ssid, DetailedState state) { String[] formats = context.getResources().getStringArray((ssid == null) ? R.array.wifi_status : R.array.wifi_status_with_ssid); int index = state.ordinal(); if (index >= formats.length || formats[index].length() == 0) { return null; } return String.format(formats[index], ssid); }
public static String get(Context context, String ssid, DetailedState state) { String[] formats = context.getResources().getStringArray((ssid == null) ? R.array.wifi_status : R.array.wifi_status_with_ssid); int index = state.ordinal(); if (index >= formats.length || formats[index].length() == 0) { return null; } return String.format(formats[index], ssid); }
/** * Checks if is wifi. * @param ctx the ctx * @return true, if is wifi */ public static boolean isWifi(final Context ctx) { WifiManager wm = (WifiManager) ctx.getSystemService( Context.WIFI_SERVICE); WifiInfo wi = wm.getConnectionInfo(); if (wi != null && (WifiInfo.getDetailedStateOf(wi.getSupplicantState()) == DetailedState.OBTAINING_IPADDR || WifiInfo.getDetailedStateOf(wi.getSupplicantState()) == DetailedState.CONNECTED)) { return false; } return false; }
/** * Ask to take the control of the wifi and the partial wake lock if * configured */ private synchronized void acquireResources() { if(holdResources) { return; } // Add a wake lock for CPU if necessary if (prefsWrapper.getPreferenceBooleanValue(SipConfigManager.USE_PARTIAL_WAKE_LOCK)) { PowerManager pman = (PowerManager) getSystemService(Context.POWER_SERVICE); if (wakeLock == null) { wakeLock = pman.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "com.csipsimple.SipService"); wakeLock.setReferenceCounted(false); } // Extra check if set reference counted is false ??? if (!wakeLock.isHeld()) { wakeLock.acquire(); } } // Add a lock for WIFI if necessary WifiManager wman = (WifiManager) getSystemService(Context.WIFI_SERVICE); if (wifiLock == null) { int mode = WifiManager.WIFI_MODE_FULL; if(Compatibility.isCompatible(9) && prefsWrapper.getPreferenceBooleanValue(SipConfigManager.LOCK_WIFI_PERFS)) { mode = 0x3; // WIFI_MODE_FULL_HIGH_PERF } wifiLock = wman.createWifiLock(mode, "com.csipsimple.SipService"); wifiLock.setReferenceCounted(false); } if (prefsWrapper.getPreferenceBooleanValue(SipConfigManager.LOCK_WIFI) && !wifiLock.isHeld()) { WifiInfo winfo = wman.getConnectionInfo(); if (winfo != null) { DetailedState dstate = WifiInfo.getDetailedStateOf(winfo.getSupplicantState()); // We assume that if obtaining ip addr, we are almost connected // so can keep wifi lock if (dstate == DetailedState.OBTAINING_IPADDR || dstate == DetailedState.CONNECTED) { if (!wifiLock.isHeld()) { wifiLock.acquire(); } } } } holdResources = true; }
private void getWiFiInfo() { initNetwork(); if (wifiManager != null) { final WifiInfo wifiInfo = wifiManager.getConnectionInfo(); fullInfo.setProperty("WIFI_SSID", String.valueOf(Helperfunctions.removeQuotationsInCurrentSSIDForJellyBean(wifiInfo.getSSID()))); /* * fullInfo.setProperty("WIFI_LINKSPEED", * String.valueOf(wifiInfo.getLinkSpeed())); */ fullInfo.setProperty("WIFI_BSSID", String.valueOf(wifiInfo.getBSSID())); fullInfo.setProperty("WIFI_NETWORK_ID", String.valueOf(wifiInfo.getNetworkId())); /* * fullInfo.setProperty("WIFI_RSSI", * String.valueOf(wifiInfo.getRssi())); */ final SupplicantState wifiState = wifiInfo.getSupplicantState(); fullInfo.setProperty("WIFI_SUPPLICANT_STATE", String.valueOf(wifiState.name())); final DetailedState wifiDetail = WifiInfo.getDetailedStateOf(wifiState); fullInfo.setProperty("WIFI_SUPPLICANT_STATE_DETAIL", String.valueOf(wifiDetail.name())); if (getNetwork() == NETWORK_WIFI) { final int rssi = wifiInfo.getRssi(); if (rssi != -1 && rssi >= ACCEPT_WIFI_RSSI_MIN) { int linkSpeed = wifiInfo.getLinkSpeed(); if (linkSpeed < 0) { linkSpeed = 0; } final SignalItem signalItem = SignalItem.getWifiSignalItem(linkSpeed, rssi); if (this.collectInformation) { signals.add(signalItem); } lastSignalItem.set(signalItem); signal.set(rssi); signalType.set(SINGAL_TYPE_WLAN); if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { CellInformationWrapper cellInformationWrapper = new CellInformationWrapper(wifiInfo); cellInformationWrapper.setActive(true); this.lastCellInfos.add(cellInformationWrapper); this.registeredCells.clear(); this.registeredCells.add(cellInformationWrapper); this.cellInfos.add(cellInformationWrapper); } // Log.i(DEBUG_TAG, "Signals1: " + signals.toString()); } } } }
static String get(Context context, DetailedState state) { return get(context, null, state); }
DetailedState getState() { return mState; }
public static String get(Context context, DetailedState state) { return get(context, null, state); }
public static boolean isFast(int i) { WifiManager wm = (WifiManager) mContext .getSystemService(Context.WIFI_SERVICE); WifiInfo wi = wm.getConnectionInfo(); if (PreferenceManager .getDefaultSharedPreferences(mContext) .getString( com.cyeam.cInterphone.ui.Settings.PREF_USERNAME + (i != 0 ? i : ""), "").equals("") || PreferenceManager .getDefaultSharedPreferences(mContext) .getString( com.cyeam.cInterphone.ui.Settings.PREF_SERVER + (i != 0 ? i : ""), "").equals("")) return false; if (wi != null) { if (!Sipdroid.release) Log.i("SipUA:", "isFastWifi() " + WifiInfo.getDetailedStateOf(wi .getSupplicantState()) + " " + wi.getIpAddress()); if (wi.getIpAddress() != 0 && (WifiInfo.getDetailedStateOf(wi.getSupplicantState()) == DetailedState.OBTAINING_IPADDR || WifiInfo .getDetailedStateOf(wi.getSupplicantState()) == DetailedState.CONNECTED)) { on_wlan = true; if (!on_vpn()) return PreferenceManager.getDefaultSharedPreferences( mContext).getBoolean( com.cyeam.cInterphone.ui.Settings.PREF_WLAN + (i != 0 ? i : ""), com.cyeam.cInterphone.ui.Settings.DEFAULT_WLAN); else return PreferenceManager.getDefaultSharedPreferences( mContext).getBoolean( com.cyeam.cInterphone.ui.Settings.PREF_VPN + (i != 0 ? i : ""), com.cyeam.cInterphone.ui.Settings.DEFAULT_VPN); } } on_wlan = false; return isFastGSM(i); }
public boolean connectionStatus(int type) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); return connectivityManager.getNetworkInfo(type).getDetailedState() == DetailedState.CONNECTED; }