Build fix

This commit is contained in:
Denis Karmyshakov 2018-08-21 23:17:01 +03:00
parent b68c651e6a
commit f15d2f73af
4 changed files with 41 additions and 36 deletions

View File

@ -1,2 +1 @@
<manifest
package="ru.touchin.lifecycle"/>
<manifest package="ru.touchin.lifecycle.common"/>

View File

@ -1,3 +1 @@
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="ru.touchin.lifecycle"/>
<manifest package="ru.touchin.lifecycle.rx"/>

View File

@ -222,7 +222,7 @@ public class ViewController<TActivity extends FragmentActivity, TState extends P
/**
* Returns a color state list associated with a particular resource ID.
* <p>
*
* <p>Starting in {@link android.os.Build.VERSION_CODES#M}, the returned
* color state list will be styled for the specified Context's theme.
*

View File

@ -47,41 +47,21 @@ public final class DeviceUtils {
return NetworkType.UNKNOWN;
}
final ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm == null) {
return NetworkType.UNKNOWN;
}
@SuppressLint("MissingPermission") final NetworkInfo info = cm.getActiveNetworkInfo();
if (info == null || !info.isConnected()) {
return NetworkType.NONE;
}
if (info.getType() == ConnectivityManager.TYPE_WIFI) {
return NetworkType.WI_FI;
switch (info.getType()) {
case ConnectivityManager.TYPE_WIFI:
return NetworkType.WI_FI;
case ConnectivityManager.TYPE_MOBILE:
return getMobileNetworkType(info);
default:
return NetworkType.UNKNOWN;
}
if (info.getType() == ConnectivityManager.TYPE_MOBILE) {
final int networkType = info.getSubtype();
switch (networkType) {
case TelephonyManager.NETWORK_TYPE_GPRS:
case TelephonyManager.NETWORK_TYPE_EDGE:
case TelephonyManager.NETWORK_TYPE_CDMA:
case TelephonyManager.NETWORK_TYPE_1xRTT:
case TelephonyManager.NETWORK_TYPE_IDEN:
return NetworkType.MOBILE_2G;
case TelephonyManager.NETWORK_TYPE_UMTS:
case TelephonyManager.NETWORK_TYPE_EVDO_0:
case TelephonyManager.NETWORK_TYPE_EVDO_A:
case TelephonyManager.NETWORK_TYPE_HSDPA:
case TelephonyManager.NETWORK_TYPE_HSUPA:
case TelephonyManager.NETWORK_TYPE_HSPA:
case TelephonyManager.NETWORK_TYPE_EVDO_B:
case TelephonyManager.NETWORK_TYPE_EHRPD:
case TelephonyManager.NETWORK_TYPE_HSPAP:
return NetworkType.MOBILE_3G;
case TelephonyManager.NETWORK_TYPE_LTE:
case 19: // NETWORK_TYPE_LTE_CA is hide
return NetworkType.MOBILE_LTE;
case TelephonyManager.NETWORK_TYPE_UNKNOWN:
default:
return NetworkType.UNKNOWN;
}
}
return NetworkType.UNKNOWN;
}
/**
@ -94,6 +74,34 @@ public final class DeviceUtils {
return getNetworkType(context) != NetworkType.NONE;
}
@NonNull
private static NetworkType getMobileNetworkType(@NonNull final NetworkInfo info) {
switch (info.getSubtype()) {
case TelephonyManager.NETWORK_TYPE_GPRS:
case TelephonyManager.NETWORK_TYPE_EDGE:
case TelephonyManager.NETWORK_TYPE_CDMA:
case TelephonyManager.NETWORK_TYPE_1xRTT:
case TelephonyManager.NETWORK_TYPE_IDEN:
return NetworkType.MOBILE_2G;
case TelephonyManager.NETWORK_TYPE_UMTS:
case TelephonyManager.NETWORK_TYPE_EVDO_0:
case TelephonyManager.NETWORK_TYPE_EVDO_A:
case TelephonyManager.NETWORK_TYPE_HSDPA:
case TelephonyManager.NETWORK_TYPE_HSUPA:
case TelephonyManager.NETWORK_TYPE_HSPA:
case TelephonyManager.NETWORK_TYPE_EVDO_B:
case TelephonyManager.NETWORK_TYPE_EHRPD:
case TelephonyManager.NETWORK_TYPE_HSPAP:
return NetworkType.MOBILE_3G;
case TelephonyManager.NETWORK_TYPE_LTE:
case 19: // NETWORK_TYPE_LTE_CA is hide
return NetworkType.MOBILE_LTE;
case TelephonyManager.NETWORK_TYPE_UNKNOWN:
default:
return NetworkType.UNKNOWN;
}
}
private DeviceUtils() {
}