提交 6cd9188a 编写于 作者: B Blankj

See 10/16 log

上级 06479b17
......@@ -41,7 +41,7 @@
[logo]: https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.20.4-brightgreen.svg
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.21.0-brightgreen.svg
[auc]: https://github.com/Blankj/AndroidUtilCode
[apisvg]: https://img.shields.io/badge/API-14+-brightgreen.svg
......
......@@ -41,7 +41,7 @@ If this project helps you a lot and you want to support the project's developmen
[logo]: https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.20.4-brightgreen.svg
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.21.0-brightgreen.svg
[auc]: https://github.com/Blankj/AndroidUtilCode
[apisvg]: https://img.shields.io/badge/API-14+-brightgreen.svg
......
......@@ -33,6 +33,5 @@ public class Config {
CACHE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath();
}
TEST_APK_PATH = CACHE_PATH + FILE_SEP + "test_install.apk";
}
}
......@@ -2,6 +2,7 @@ package com.blankj.androidutilcode.feature.core.device;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;
......@@ -48,17 +49,32 @@ public class DeviceActivity extends BaseBackActivity {
findViewById(R.id.btn_reboot_to_recovery).setOnClickListener(this);
findViewById(R.id.btn_reboot_to_bootloader).setOnClickListener(this);
TextView tvAboutDevice = findViewById(R.id.tv_about_device);
tvAboutDevice.setText(new SpanUtils()
.appendLine("isRoot: " + DeviceUtils.isDeviceRooted())
.appendLine("getSDKVersionName: " + DeviceUtils.getSDKVersionName())
.appendLine("getSDKVersionCode: " + DeviceUtils.getSDKVersionCode())
.appendLine("getAndroidID: " + DeviceUtils.getAndroidID())
.appendLine("getMacAddress: " + DeviceUtils.getMacAddress())
.appendLine("getManufacturer: " + DeviceUtils.getManufacturer())
.appendLine("getModel: " + DeviceUtils.getModel())
.append("getABIs: " + Arrays.asList(DeviceUtils.getABIs()))
.create()
);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
tvAboutDevice.setText(new SpanUtils()
.appendLine("isRoot: " + DeviceUtils.isDeviceRooted())
.appendLine("isAdbEnabled: " + DeviceUtils.isAdbEnabled())
.appendLine("getSDKVersionName: " + DeviceUtils.getSDKVersionName())
.appendLine("getSDKVersionCode: " + DeviceUtils.getSDKVersionCode())
.appendLine("getAndroidID: " + DeviceUtils.getAndroidID())
.appendLine("getMacAddress: " + DeviceUtils.getMacAddress())
.appendLine("getManufacturer: " + DeviceUtils.getManufacturer())
.appendLine("getModel: " + DeviceUtils.getModel())
.append("getABIs: " + Arrays.asList(DeviceUtils.getABIs()))
.create()
);
} else {
tvAboutDevice.setText(new SpanUtils()
.appendLine("isRoot: " + DeviceUtils.isDeviceRooted())
.appendLine("getSDKVersionName: " + DeviceUtils.getSDKVersionName())
.appendLine("getSDKVersionCode: " + DeviceUtils.getSDKVersionCode())
.appendLine("getAndroidID: " + DeviceUtils.getAndroidID())
.appendLine("getMacAddress: " + DeviceUtils.getMacAddress())
.appendLine("getManufacturer: " + DeviceUtils.getManufacturer())
.appendLine("getModel: " + DeviceUtils.getModel())
.append("getABIs: " + Arrays.asList(DeviceUtils.getABIs()))
.create()
);
}
}
@Override
......
......@@ -6,13 +6,13 @@ ext {
compileSdkVersion: 27,
minSdkVersion : 14,
targetSdkVersion : 27,
versionCode : 1_020_004,
versionName : '1.20.4.10'// E.g. 1.9.72 => 1,009,072
versionCode : 1_021_000,
versionName : '1.21.0'// E.g. 1.9.72 => 1,009,072
]
versionConfig = [
// plugin
gradle : '3.2.1',
gradle : '3.2.0',
kotlin : '1.2.30',
// lib
support : '27.1.1',
......@@ -177,7 +177,7 @@ def configAppDependencies(Project pro) {
// LeakCanary
debugImplementation depConfig.leakcanary.android
releaseImplementation depConfig.leakcanary.android_no_op
// implementation 'com.blankj:utilcode:1.20.3'
// implementation 'com.blankj:utilcode:1.21.0'
}
}
......
* `18/10/16` [add] BusUtils, DeviceUtils#isAdbEnabled. Publish v1.21.0.
* `18/09/29` [fix] ToastUtils which causes crash in the some devices of Xiaomi. Publish v1.20.4.
* `18/09/13` 修复 ToastUtils 在小米手机显示 Toast 带有 App 名,发布 1.20.3
* `18/09/12` 修复 KeyBoardUtils#fixAndroidBug5497,完善 ToastUtils,发布 1.20.2
......
......@@ -2,7 +2,7 @@
Gradle:
```groovy
implementation 'com.blankj:utilcode:1.20.4'
implementation 'com.blankj:utilcode:1.21.0'
```
......@@ -173,6 +173,7 @@ init: 初始化
* ### 设备相关 -> [DeviceUtils.java][device.java] -> [Demo][device.demo]
```
isDeviceRooted : 判断设备是否 rooted
isAdbEnabled : 判断设备 ADB 是否可用
getSDKVersionName: 获取设备系统版本号
getSDKVersionCode: 获取设备系统版本码
getAndroidID : 获取设备 AndroidID
......
......@@ -2,7 +2,7 @@
Gradle:
```groovy
implementation 'com.blankj:utilcode:1.20.4'
implementation 'com.blankj:utilcode:1.21.0'
```
......
package com.blankj.utilcode;
import com.blankj.utilcode.util.BusUtils;
import com.blankj.utilcode.util.LogUtils;
/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 2018/10/08
* desc :
* </pre>
*/
public class BusTest {
@BusUtils.Subscribe(name = "lib")
public static String libBus(String name) {
LogUtils.e(name);
return "libBus";
}
}
......@@ -8,6 +8,7 @@ import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.PowerManager;
import android.provider.Settings;
import android.support.annotation.RequiresApi;
import android.support.annotation.RequiresPermission;
import android.text.TextUtils;
......@@ -51,6 +52,19 @@ public final class DeviceUtils {
return false;
}
/**
* Return whether ADB is enabled.
*
* @return {@code true}: yes<br>{@code false}: no
*/
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
public static boolean isAdbEnabled() {
return Settings.Secure.getInt(
Utils.getApp().getContentResolver(),
Settings.Global.ADB_ENABLED, 0
) > 0;
}
/**
* Return the version name of device's system.
*
......
......@@ -4,6 +4,7 @@ import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.AnimRes;
import android.support.annotation.AnimatorRes;
import android.support.annotation.ColorInt;
import android.support.annotation.DrawableRes;
import android.support.annotation.IdRes;
......@@ -105,8 +106,8 @@ public final class FragmentUtils {
public static void add(@NonNull final FragmentManager fm,
@NonNull final Fragment add,
@IdRes final int containerId,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
add(fm, add, containerId, null, false, enterAnim, exitAnim, 0, 0);
}
......@@ -126,8 +127,8 @@ public final class FragmentUtils {
@NonNull final Fragment add,
@IdRes final int containerId,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
add(fm, add, containerId, null, isAddStack, enterAnim, exitAnim, 0, 0);
}
......@@ -151,10 +152,10 @@ public final class FragmentUtils {
public static void add(@NonNull final FragmentManager fm,
@NonNull final Fragment add,
@IdRes final int containerId,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
add(fm, add, containerId, null, false, enterAnim, exitAnim, popEnterAnim, popExitAnim);
}
......@@ -180,10 +181,10 @@ public final class FragmentUtils {
@NonNull final Fragment add,
@IdRes final int containerId,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
add(fm, add, containerId, null, isAddStack, enterAnim, exitAnim, popEnterAnim, popExitAnim);
}
......@@ -319,8 +320,8 @@ public final class FragmentUtils {
@NonNull final Fragment add,
@IdRes final int containerId,
final String tag,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
add(fm, add, containerId, tag, false, enterAnim, exitAnim, 0, 0);
}
......@@ -342,8 +343,8 @@ public final class FragmentUtils {
@IdRes final int containerId,
final String tag,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
add(fm, add, containerId, tag, isAddStack, enterAnim, exitAnim, 0, 0);
}
......@@ -369,10 +370,10 @@ public final class FragmentUtils {
@NonNull final Fragment add,
@IdRes final int containerId,
final String tag,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
add(fm, add, containerId, tag, false, enterAnim, exitAnim, popEnterAnim, popExitAnim);
}
......@@ -400,10 +401,10 @@ public final class FragmentUtils {
@IdRes final int containerId,
final String tag,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
FragmentTransaction ft = fm.beginTransaction();
putArgs(add, new Args(containerId, tag, false, isAddStack));
addAnim(ft, enterAnim, exitAnim, popEnterAnim, popExitAnim);
......@@ -641,8 +642,8 @@ public final class FragmentUtils {
*/
public static void replace(@NonNull final Fragment srcFragment,
@NonNull final Fragment destFragment,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
replace(srcFragment, destFragment, null, false, enterAnim, exitAnim, 0, 0);
}
......@@ -660,8 +661,8 @@ public final class FragmentUtils {
public static void replace(@NonNull final Fragment srcFragment,
@NonNull final Fragment destFragment,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
replace(srcFragment, destFragment, null, isAddStack, enterAnim, exitAnim, 0, 0);
}
......@@ -683,10 +684,10 @@ public final class FragmentUtils {
*/
public static void replace(@NonNull final Fragment srcFragment,
@NonNull final Fragment destFragment,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
replace(srcFragment, destFragment, null, false,
enterAnim, exitAnim, popEnterAnim, popExitAnim);
}
......@@ -711,10 +712,10 @@ public final class FragmentUtils {
public static void replace(@NonNull final Fragment srcFragment,
@NonNull final Fragment destFragment,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
replace(srcFragment, destFragment, null, isAddStack,
enterAnim, exitAnim, popEnterAnim, popExitAnim);
}
......@@ -791,8 +792,8 @@ public final class FragmentUtils {
public static void replace(@NonNull final FragmentManager fm,
@NonNull final Fragment fragment,
@IdRes final int containerId,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
replace(fm, fragment, containerId, null, false, enterAnim, exitAnim, 0, 0);
}
......@@ -812,8 +813,8 @@ public final class FragmentUtils {
@NonNull final Fragment fragment,
@IdRes final int containerId,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
replace(fm, fragment, containerId, null, isAddStack, enterAnim, exitAnim, 0, 0);
}
......@@ -837,10 +838,10 @@ public final class FragmentUtils {
public static void replace(@NonNull final FragmentManager fm,
@NonNull final Fragment fragment,
@IdRes final int containerId,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
replace(fm, fragment, containerId, null, false,
enterAnim, exitAnim, popEnterAnim, popExitAnim);
}
......@@ -867,10 +868,10 @@ public final class FragmentUtils {
@NonNull final Fragment fragment,
@IdRes final int containerId,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
replace(fm, fragment, containerId, null, isAddStack,
enterAnim, exitAnim, popEnterAnim, popExitAnim);
}
......@@ -954,8 +955,8 @@ public final class FragmentUtils {
public static void replace(@NonNull final Fragment srcFragment,
@NonNull final Fragment destFragment,
final String destTag,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
replace(srcFragment, destFragment, destTag, false, enterAnim, exitAnim, 0, 0);
}
......@@ -975,8 +976,8 @@ public final class FragmentUtils {
@NonNull final Fragment destFragment,
final String destTag,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
replace(srcFragment, destFragment, destTag, isAddStack, enterAnim, exitAnim, 0, 0);
}
......@@ -1000,10 +1001,10 @@ public final class FragmentUtils {
public static void replace(@NonNull final Fragment srcFragment,
@NonNull final Fragment destFragment,
final String destTag,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
replace(srcFragment, destFragment, destTag, false,
enterAnim, exitAnim, popEnterAnim, popExitAnim);
}
......@@ -1030,10 +1031,10 @@ public final class FragmentUtils {
@NonNull final Fragment destFragment,
final String destTag,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
FragmentManager fm = srcFragment.getFragmentManager();
if (fm == null) return;
Args args = getArgs(srcFragment);
......@@ -1134,8 +1135,8 @@ public final class FragmentUtils {
@NonNull final Fragment fragment,
@IdRes final int containerId,
final String destTag,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
replace(fm, fragment, containerId, destTag, false, enterAnim, exitAnim, 0, 0);
}
......@@ -1157,8 +1158,8 @@ public final class FragmentUtils {
@IdRes final int containerId,
final String destTag,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim) {
replace(fm, fragment, containerId, destTag, isAddStack, enterAnim, exitAnim, 0, 0);
}
......@@ -1184,10 +1185,10 @@ public final class FragmentUtils {
@NonNull final Fragment fragment,
@IdRes final int containerId,
final String destTag,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
replace(fm, fragment, containerId, destTag, false,
enterAnim, exitAnim, popEnterAnim, popExitAnim);
}
......@@ -1216,10 +1217,10 @@ public final class FragmentUtils {
@IdRes final int containerId,
final String destTag,
final boolean isAddStack,
@AnimRes final int enterAnim,
@AnimRes final int exitAnim,
@AnimRes final int popEnterAnim,
@AnimRes final int popExitAnim) {
@AnimatorRes @AnimRes final int enterAnim,
@AnimatorRes @AnimRes final int exitAnim,
@AnimatorRes @AnimRes final int popEnterAnim,
@AnimatorRes @AnimRes final int popExitAnim) {
FragmentTransaction ft = fm.beginTransaction();
putArgs(fragment, new Args(containerId, destTag, false, isAddStack));
addAnim(ft, enterAnim, exitAnim, popEnterAnim, popExitAnim);
......@@ -1800,7 +1801,7 @@ public final class FragmentUtils {
}
Args(final int id, final String tag,
final boolean isHide, final boolean isAddStack) {
final boolean isHide, final boolean isAddStack) {
this.id = id;
this.tag = tag;
this.isHide = isHide;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册