Search in sources :

Example 16 with ConnectivityManager

use of android.net.ConnectivityManager in project storymaker by StoryMaker.

the class StorymakerDownloadManager method downloadFromLigerServer.

private void downloadFromLigerServer() {
    String ligerUrl = indexItem.getExpansionFileUrl();
    String ligerPath = StorymakerIndexManager.buildFilePath(indexItem, context);
    String ligerObb = fileName;
    Timber.d("DOWNLOADING " + ligerObb + " FROM " + ligerUrl + " TO " + ligerPath);
    try {
        URI expansionFileUri = null;
        HttpGet request = null;
        HttpResponse response = null;
        File targetFolder = new File(ligerPath);
        String nameFilter = "";
        if (ligerObb.contains(indexItem.getExpansionFileVersion())) {
            nameFilter = fileName.replace(indexItem.getExpansionFileVersion(), "*") + "*.tmp";
        } else {
            nameFilter = fileName + "*.tmp";
        }
        Timber.d("CLEANUP: DELETING " + nameFilter + " FROM " + targetFolder.getPath());
        WildcardFileFilter oldFileFilter = new WildcardFileFilter(nameFilter);
        for (File oldFile : FileUtils.listFiles(targetFolder, oldFileFilter, null)) {
            Timber.d("CLEANUP: FOUND " + oldFile.getPath() + ", DELETING");
            FileUtils.deleteQuietly(oldFile);
        }
        // additional cleanup of pre-name-change files
        if (fileName.contains(scal.io.liger.Constants.MAIN)) {
            nameFilter = fileName.replace(scal.io.liger.Constants.MAIN + ".", "").replace(indexItem.getExpansionFileVersion(), "*");
            Timber.d("CLEANUP: DELETING OLD FILES " + nameFilter + " FROM " + targetFolder.getPath());
            oldFileFilter = new WildcardFileFilter(nameFilter);
            for (File oldFile : FileUtils.listFiles(targetFolder, oldFileFilter, null)) {
                Timber.d("CLEANUP: FOUND OLD FILE " + oldFile.getPath() + ", DELETING");
                FileUtils.deleteQuietly(oldFile);
            }
        }
        File targetFile = new File(targetFolder, ligerObb + ".tmp");
        // if there is no connectivity, do not queue item (no longer seems to pause if connection is unavailable)
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo ni = cm.getActiveNetworkInfo();
        if ((ni != null) && (ni.isConnectedOrConnecting())) {
            if (context instanceof Activity) {
                // FIXME move to strings
                Utils.toastOnUiThread((Activity) context, "Starting download of " + indexItem.getTitle() + ".", false);
            }
            // check preferences.  will also need to check whether tor is active within method
            SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
            boolean useTor = settings.getBoolean("pusetor", false);
            boolean useManager = settings.getBoolean("pusedownloadmanager", false);
            //if (checkTor(useTor, context)) {
            if (useTor && useManager) {
                Timber.e("ANDROID DOWNLOAD MANAGER IS NOT COMPATABLE WITH TOR");
                if (context instanceof Activity) {
                    // FIXME move to strings
                    Utils.toastOnUiThread((Activity) context, "Check settings, can't use download manager and tor", true);
                }
                StorymakerQueueManager.checkQueueFinished(context, targetFile.getName());
            } else if (useTor || !useManager) {
                downloadWithTor(useTor, Uri.parse(ligerUrl + ligerObb), mAppTitle + " content download", ligerObb, targetFile);
            } else {
                downloadWithManager(Uri.parse(ligerUrl + ligerObb), mAppTitle + " content download", ligerObb, Uri.fromFile(targetFile));
            }
        } else {
            Timber.d("NO CONNECTION, NOT QUEUEING DOWNLOAD: " + ligerUrl + ligerObb + " -> " + targetFile.getPath());
            if (context instanceof Activity) {
                // FIXME move to strings
                Utils.toastOnUiThread((Activity) context, "Check settings, no connection, can't start download", true);
            }
            StorymakerQueueManager.checkQueueFinished(context, targetFile.getName());
        }
    } catch (Exception e) {
        Timber.e(e, "DOWNLOAD ERROR: " + ligerUrl + ligerObb + " -> " + e.getMessage());
    }
}
Also used : NetworkInfo(android.net.NetworkInfo) SharedPreferences(android.content.SharedPreferences) ConnectivityManager(android.net.ConnectivityManager) HttpGet(ch.boye.httpclientandroidlib.client.methods.HttpGet) HttpResponse(ch.boye.httpclientandroidlib.HttpResponse) Activity(android.app.Activity) URI(java.net.URI) File(java.io.File) WildcardFileFilter(org.apache.commons.io.filefilter.WildcardFileFilter) SocketTimeoutException(java.net.SocketTimeoutException) IOException(java.io.IOException) ConnectTimeoutException(ch.boye.httpclientandroidlib.conn.ConnectTimeoutException)

Example 17 with ConnectivityManager

use of android.net.ConnectivityManager in project GT by Tencent.

the class DeviceUtils method setMobileDataStatus.

public static void setMobileDataStatus(boolean enable) {
    ConnectivityManager conMgr = (ConnectivityManager) GTApp.getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
    Class<?> conMgrClass = null;
    Field iConMgrField = null;
    Object iConMgr = null;
    Class<?> iConMgrClass = null;
    Method setMobileDataEnableMethod = null;
    try {
        conMgrClass = Class.forName(conMgr.getClass().getName());
        iConMgrField = conMgrClass.getDeclaredField("mService");
        iConMgrField.setAccessible(true);
        iConMgr = iConMgrField.get(conMgr);
        iConMgrClass = Class.forName(iConMgr.getClass().getName());
        setMobileDataEnableMethod = iConMgrClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
        setMobileDataEnableMethod.setAccessible(true);
        setMobileDataEnableMethod.invoke(iConMgr, enable);
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SecurityException e) {
        e.printStackTrace();
    } catch (NoSuchFieldException e) {
        e.printStackTrace();
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    }
}
Also used : Field(java.lang.reflect.Field) ConnectivityManager(android.net.ConnectivityManager) Method(java.lang.reflect.Method) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 18 with ConnectivityManager

use of android.net.ConnectivityManager in project GT by Tencent.

the class NetUtils method getNetWorkType.

/**
	 * 获取网络连接类型
	 * 
	 * @return -1表示没有网络
	 */
public static final int getNetWorkType() {
    Context c = GTApp.getContext();
    ConnectivityManager conn = (ConnectivityManager) c.getSystemService(Context.CONNECTIVITY_SERVICE);
    if (conn == null) {
        return -1;
    }
    NetworkInfo info = conn.getActiveNetworkInfo();
    if (info == null || !info.isAvailable()) {
        return -1;
    }
    int type = info.getType();
    if (type == ConnectivityManager.TYPE_WIFI) {
        return TYPE_WIFI;
    } else {
        TelephonyManager tm = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE);
        switch(tm.getNetworkType()) {
            case TelephonyManager.NETWORK_TYPE_CDMA:
                return TYPE_GPRS;
            case TelephonyManager.NETWORK_TYPE_EDGE:
                return TYPE_GPRS;
            case TelephonyManager.NETWORK_TYPE_GPRS:
                return TYPE_GPRS;
            default:
                return TYPE_3G;
        }
    }
}
Also used : Context(android.content.Context) NetworkInfo(android.net.NetworkInfo) TelephonyManager(android.telephony.TelephonyManager) ConnectivityManager(android.net.ConnectivityManager)

Example 19 with ConnectivityManager

use of android.net.ConnectivityManager in project GT by Tencent.

the class DeviceUtils method getMobileDataStatus.

public static boolean getMobileDataStatus(String getMobileDataEnabled) {
    ConnectivityManager cm = (ConnectivityManager) GTApp.getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
    Class cmClass = cm.getClass();
    Class[] argClasses = null;
    Object[] argObjects = null;
    Boolean isOpen = false;
    try {
        Method method = cmClass.getMethod(getMobileDataEnabled, argClasses);
        isOpen = (Boolean) method.invoke(cm, argObjects);
    } catch (SecurityException e) {
        e.printStackTrace();
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    }
    return isOpen;
}
Also used : ConnectivityManager(android.net.ConnectivityManager) Method(java.lang.reflect.Method) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 20 with ConnectivityManager

use of android.net.ConnectivityManager in project android-common by Trinea.

the class NetWorkUtils method getNetworkType.

/**
     * Get network type
     * 
     * @param context
     * @return
     */
public static int getNetworkType(Context context) {
    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = connectivityManager == null ? null : connectivityManager.getActiveNetworkInfo();
    return networkInfo == null ? -1 : networkInfo.getType();
}
Also used : NetworkInfo(android.net.NetworkInfo) ConnectivityManager(android.net.ConnectivityManager)

Aggregations

ConnectivityManager (android.net.ConnectivityManager)361 NetworkInfo (android.net.NetworkInfo)258 Context (android.content.Context)15 TelephonyManager (android.telephony.TelephonyManager)13 RemoteException (android.os.RemoteException)11 Test (org.junit.Test)11 Intent (android.content.Intent)10 WifiManager (android.net.wifi.WifiManager)9 Method (java.lang.reflect.Method)9 Network (android.net.Network)8 IOException (java.io.IOException)8 PackageManager (android.content.pm.PackageManager)7 SharedPreferences (android.content.SharedPreferences)6 NetworkCapabilities (android.net.NetworkCapabilities)6 UserManager (android.os.UserManager)6 Activity (android.app.Activity)5 ApplicationInfo (android.content.pm.ApplicationInfo)5 IPackageManager (android.content.pm.IPackageManager)5 PackageInfo (android.content.pm.PackageInfo)5 NameNotFoundException (android.content.pm.PackageManager.NameNotFoundException)5