Skip to content

Commit 27cf719

Browse files
committed
see 11/13 log
1 parent e6ec42f commit 27cf719

File tree

16 files changed

+372
-71
lines changed

16 files changed

+372
-71
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
* `20/11/13` [add] Fix MessengerUtils ANR. Add NetworkUtils#getWifiScanResult, [add|remove]OnWifiChangedConsumer. Publish v1.30.5.
12
* `20/10/29` [add] Fix MessengerUtils startService IllegalStateException. Publish v1.30.4.
23
* `20/10/28` [add] Fix BusUtils ConcurrentModificationException. Publish v1.30.3.
34
* `20/10/27` [add] Fix AppUtils#getAppSignatures. Add DeviceUtils#isDevelopmentSettingsEnabled. Publish v1.30.2.

buildSrc/src/main/groovy/Config.groovy

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ class Config {
1414
static compileSdkVersion = 29
1515
static minSdkVersion = 14
1616
static targetSdkVersion = 29
17-
static versionCode = 1_030_004
18-
static versionName = '1.30.4'// E.g. 1.9.72 => 1,009,072
17+
static versionCode = 1_030_005
18+
static versionName = '1.30.5'// E.g. 1.9.72 => 1,009,072
1919

2020
// lib version
2121
static gradlePluginVersion = '3.5.0'
@@ -53,7 +53,7 @@ class Config {
5353

5454
// 上传新版本插件更新 pluginPath 中的版本号,并设置 isApply = false
5555
// 通过 mavenLocal 上传本地版本,设置 isApply = true 即可应用插件来调试,最后通过 bintrayUpload 来发布插件
56-
plugin_api : new DepConfig(isApply: true, useLocal: false, pluginPath: "com.blankj:api-gradle-plugin:latest.release", pluginId: "com.blankj.api"),
56+
plugin_api : new DepConfig(isApply: true, useLocal: false, pluginPath: "com.blankj:api-gradle-plugin:1.5", pluginId: "com.blankj.api"),
5757
//./gradlew clean :plugin_api-gradle-plugin:mavenLocal // 上传到本地 mavenLocal
5858
//./gradlew clean :plugin_api-gradle-plugin:bintrayUpload // 上传到 jcenter
5959
plugin_bus : new DepConfig(isApply: true, useLocal: false, pluginPath: "com.blankj:bus-gradle-plugin:2.6", pluginId: "com.blankj.bus"),

feature/utilcode/pkg/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<uses-permission android:name="android.permission.FLASHLIGHT" />
1919

2020
<!-- network -->
21+
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
2122
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
2223
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
2324
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/network/NetworkActivity.kt

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@ package com.blankj.utilcode.pkg.feature.network
22

33
import android.content.Context
44
import android.content.Intent
5+
import android.net.wifi.ScanResult
6+
import android.net.wifi.WifiManager
57
import android.os.Bundle
68
import android.view.View
79
import com.blankj.common.activity.CommonActivity
10+
import com.blankj.common.helper.PermissionHelper
811
import com.blankj.common.item.CommonItem
912
import com.blankj.common.item.CommonItemClick
1013
import com.blankj.common.item.CommonItemSwitch
1114
import com.blankj.common.item.CommonItemTitle
15+
import com.blankj.utilcode.constant.PermissionConstants
1216
import com.blankj.utilcode.pkg.R
1317
import com.blankj.utilcode.util.*
1418

@@ -24,12 +28,24 @@ class NetworkActivity : CommonActivity(), NetworkUtils.OnNetworkStatusChangedLis
2428

2529
companion object {
2630
fun start(context: Context) {
27-
val starter = Intent(context, NetworkActivity::class.java)
28-
context.startActivity(starter)
31+
PermissionHelper.request(context, object : PermissionUtils.SimpleCallback {
32+
override fun onGranted() {
33+
val starter = Intent(context, NetworkActivity::class.java)
34+
context.startActivity(starter)
35+
}
36+
37+
override fun onDenied() {
38+
}
39+
}, PermissionConstants.LOCATION)
2940
}
3041
}
3142

3243
private lateinit var itemsTask: ThreadUtils.SimpleTask<List<CommonItem<*>>>
44+
private lateinit var wifiScanResultItem: CommonItemTitle
45+
private val consumer = Utils.Consumer<NetworkUtils.WifiScanResults> { t ->
46+
wifiScanResultItem.setContent(scanResults2String(t.filterResults))
47+
wifiScanResultItem.update()
48+
}
3349

3450
override fun bindTitleRes(): Int {
3551
return R.string.demo_network
@@ -51,6 +67,7 @@ class NetworkActivity : CommonActivity(), NetworkUtils.OnNetworkStatusChangedLis
5167

5268
override fun bindItems(): List<CommonItem<*>> {
5369
if (ThreadUtils.isMainThread()) return arrayListOf()
70+
wifiScanResultItem = CommonItemTitle("getWifiScanResult", scanResults2String(NetworkUtils.getWifiScanResult().filterResults))
5471
return CollectionUtils.newArrayList(
5572
CommonItemTitle("isConnected", NetworkUtils.isConnected().toString()),
5673
CommonItemTitle("getMobileDataEnabled", NetworkUtils.getMobileDataEnabled().toString()),
@@ -72,10 +89,19 @@ class NetworkActivity : CommonActivity(), NetworkUtils.OnNetworkStatusChangedLis
7289
CommonItemTitle("isWifiAvailable", NetworkUtils.isWifiAvailable().toString()),
7390
CommonItemTitle("isAvailable", NetworkUtils.isAvailable().toString()),
7491
CommonItemTitle("getBaiduDomainAddress", NetworkUtils.getDomainAddress("baidu.com")),
92+
wifiScanResultItem,
7593

7694
CommonItemSwitch(
7795
R.string.network_wifi_enabled,
78-
{ NetworkUtils.getWifiEnabled() },
96+
{
97+
val wifiEnabled = NetworkUtils.getWifiEnabled()
98+
if (wifiEnabled) {
99+
NetworkUtils.addOnWifiChangedConsumer(consumer)
100+
} else {
101+
NetworkUtils.removeOnWifiChangedConsumer(consumer)
102+
}
103+
wifiEnabled
104+
},
79105
{
80106
NetworkUtils.setWifiEnabled(it)
81107
ThreadUtils.executeByIo(getItemsTask())
@@ -112,5 +138,14 @@ class NetworkActivity : CommonActivity(), NetworkUtils.OnNetworkStatusChangedLis
112138
super.onDestroy()
113139
ThreadUtils.cancel(itemsTask)
114140
NetworkUtils.unregisterNetworkStatusChangedListener(this)
141+
NetworkUtils.removeOnWifiChangedConsumer(consumer)
142+
}
143+
144+
private fun scanResults2String(results: List<ScanResult>): String {
145+
val sb: StringBuilder = StringBuilder()
146+
for (result in results) {
147+
sb.append(String.format("${result.SSID}, Level: ${WifiManager.calculateSignalLevel(result.level, 4)}\n"))
148+
}
149+
return sb.toString()
115150
}
116151
}

lib/subutil/src/main/java/com/blankj/subutil/util/BatteryUtils.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ private static BatteryChangedReceiver getInstance() {
7676
void registerListener(final OnBatteryStatusChangedListener listener) {
7777
if (listener == null) return;
7878
ThreadUtils.runOnUiThread(new Runnable() {
79-
@SuppressLint("MissingPermission")
8079
@Override
8180
public void run() {
8281
int preSize = mListeners.size();
@@ -109,7 +108,6 @@ public void run() {
109108
});
110109
}
111110

112-
@SuppressLint("MissingPermission")
113111
@Override
114112
public void onReceive(Context context, final Intent intent) {
115113
if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {

lib/utilcode/README-CN.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
Gradle:
44
```groovy
5-
implementation 'com.blankj:utilcode:1.30.4'
5+
implementation 'com.blankj:utilcode:1.30.5'
66
77
// if u use AndroidX, use the following
8-
implementation 'com.blankj:utilcodex:1.30.4'
8+
implementation 'com.blankj:utilcodex:1.30.5'
99
```
1010

1111

@@ -721,6 +721,9 @@ getServerAddressByWifi : 根据 WiFi 获取服务端 IP 地址
721721
registerNetworkStatusChangedListener : 注册网络状态改变监听器
722722
isRegisteredNetworkStatusChangedListener: 判断是否注册网络状态改变监听器
723723
unregisterNetworkStatusChangedListener : 注销网络状态改变监听器
724+
getWifiScanResult : 获取 WIFI 列表
725+
addOnWifiChangedConsumer : 增加 WIFI 改变监听
726+
removeOnWifiChangedConsumer : 移除 WIFI 改变监听
724727
```
725728

726729
* ### 通知相关 -> [NotificationUtils.java][notification.java] -> [Demo][notification.demo]

lib/utilcode/README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
Gradle:
44
```groovy
5-
implementation 'com.blankj:utilcode:1.30.4'
5+
implementation 'com.blankj:utilcode:1.30.5'
66
77
// if u use AndroidX, use the following
8-
implementation 'com.blankj:utilcodex:1.30.4'
8+
implementation 'com.blankj:utilcodex:1.30.5'
99
```
1010

1111

@@ -721,6 +721,9 @@ getServerAddressByWifi
721721
registerNetworkStatusChangedListener
722722
isRegisteredNetworkStatusChangedListener
723723
unregisterNetworkStatusChangedListener
724+
getWifiScanResult
725+
addOnWifiChangedConsumer
726+
removeOnWifiChangedConsumer
724727
```
725728

726729
* ### About Notification -> [NotificationUtils.java][notification.java] -> [Demo][notification.demo]

lib/utilcode/src/main/java/com/blankj/utilcode/util/CrashUtils.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ private CrashUtils() {
3030
/**
3131
* Initialization.
3232
*/
33-
@SuppressLint("MissingPermission")
3433
public static void init() {
3534
init("");
3635
}

lib/utilcode/src/main/java/com/blankj/utilcode/util/DeviceUtils.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public static String getAndroidID() {
113113
*
114114
* @return the MAC address
115115
*/
116-
@RequiresPermission(allOf = {ACCESS_WIFI_STATE, INTERNET, CHANGE_WIFI_STATE})
116+
@RequiresPermission(allOf = {ACCESS_WIFI_STATE, CHANGE_WIFI_STATE})
117117
public static String getMacAddress() {
118118
String macAddress = getMacAddress((String[]) null);
119119
if (!TextUtils.isEmpty(macAddress) || getWifiEnabled()) return macAddress;
@@ -151,7 +151,7 @@ private static void setWifiEnabled(final boolean enabled) {
151151
*
152152
* @return the MAC address
153153
*/
154-
@RequiresPermission(allOf = {ACCESS_WIFI_STATE, INTERNET})
154+
@RequiresPermission(allOf = {ACCESS_WIFI_STATE})
155155
public static String getMacAddress(final String... excepts) {
156156
String macAddress = getMacAddressByNetworkInterface();
157157
if (isAddressNotInExcepts(macAddress, excepts)) {
@@ -190,14 +190,15 @@ private static boolean isAddressNotInExcepts(final String address, final String.
190190
return true;
191191
}
192192

193-
@SuppressLint({"MissingPermission", "HardwareIds"})
193+
@RequiresPermission(ACCESS_WIFI_STATE)
194194
private static String getMacAddressByWifiInfo() {
195195
try {
196196
final WifiManager wifi = (WifiManager) Utils.getApp()
197197
.getApplicationContext().getSystemService(WIFI_SERVICE);
198198
if (wifi != null) {
199199
final WifiInfo info = wifi.getConnectionInfo();
200200
if (info != null) {
201+
@SuppressLint("HardwareIds")
201202
String macAddress = info.getMacAddress();
202203
if (!TextUtils.isEmpty(macAddress)) {
203204
return macAddress;
@@ -412,7 +413,6 @@ public static boolean isDevelopmentSettingsEnabled() {
412413
*
413414
* @return the unique device id
414415
*/
415-
@SuppressLint({"MissingPermission", "HardwareIds"})
416416
public static String getUniqueDeviceId() {
417417
return getUniqueDeviceId("", true);
418418
}
@@ -426,7 +426,6 @@ public static String getUniqueDeviceId() {
426426
* @param prefix The prefix of the unique device id.
427427
* @return the unique device id
428428
*/
429-
@SuppressLint({"MissingPermission", "HardwareIds"})
430429
public static String getUniqueDeviceId(String prefix) {
431430
return getUniqueDeviceId(prefix, true);
432431
}
@@ -440,7 +439,6 @@ public static String getUniqueDeviceId(String prefix) {
440439
* @param useCache True to use cache, false otherwise.
441440
* @return the unique device id
442441
*/
443-
@SuppressLint({"MissingPermission", "HardwareIds"})
444442
public static String getUniqueDeviceId(boolean useCache) {
445443
return getUniqueDeviceId("", useCache);
446444
}
@@ -455,7 +453,6 @@ public static String getUniqueDeviceId(boolean useCache) {
455453
* @param useCache True to use cache, false otherwise.
456454
* @return the unique device id
457455
*/
458-
@SuppressLint({"MissingPermission", "HardwareIds"})
459456
public static String getUniqueDeviceId(String prefix, boolean useCache) {
460457
if (!useCache) {
461458
return getUniqueDeviceIdReal(prefix);
@@ -486,7 +483,7 @@ private static String getUniqueDeviceIdReal(String prefix) {
486483
return saveUdid(prefix + 9, "");
487484
}
488485

489-
@SuppressLint({"MissingPermission", "HardwareIds"})
486+
@RequiresPermission(allOf = {ACCESS_WIFI_STATE, INTERNET, CHANGE_WIFI_STATE})
490487
public static boolean isSameDevice(final String uniqueDeviceId) {
491488
// {prefix}{type}{32id}
492489
if (TextUtils.isEmpty(uniqueDeviceId) && uniqueDeviceId.length() < 33) return false;

0 commit comments

Comments
 (0)