Skip to content

Commit 357b243

Browse files
committed
Merge branch 'master' into androidx
2 parents 57bd0c7 + 66a4c04 commit 357b243

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1034
-409
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
* `21/02/22` [add] Fix ToastUtils rtl bug. Publish v1.30.6.
2+
* `20/11/16` [add] Add ImageUtils#save2Album support param of dirName.
13
* `20/11/13` [add] Fix MessengerUtils ANR. Add NetworkUtils#getWifiScanResult, [add|remove]OnWifiChangedConsumer. Publish v1.30.5.
24
* `20/10/29` [add] Fix MessengerUtils startService IllegalStateException. Publish v1.30.4.
35
* `20/10/28` [add] Fix BusUtils ConcurrentModificationException. Publish v1.30.3.

buildSrc/src/main/groovy/Config.groovy

Lines changed: 2 additions & 2 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_005
18-
static versionName = '1.30.5'// E.g. 1.9.72 => 1,009,072
17+
static versionCode = 1_030_006
18+
static versionName = '1.30.6'// E.g. 1.9.72 => 1,009,072
1919

2020
// lib version
2121
static gradlePluginVersion = '3.5.2'

feature/launcher/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
android:allowBackup="false"
88
android:icon="@mipmap/ic_launcher"
99
android:label="@string/app_name"
10+
android:supportsRtl="true"
1011
android:theme="@style/AppTheme">
1112

1213
<activity

feature/main/pkg/src/main/java/com/blankj/main/pkg/MainActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ class MainActivity : CommonActivity() {
4747
super.initView(savedInstanceState, contentView)
4848
setCommonItems(mainRv, CollectionUtils.newArrayList<CommonItem<*>>(
4949
CommonItemClick(R.string.core_util, true) {
50-
ApiUtils.getApi(UtilCodeApi::class.java).startUtilCodeActivity(this)
50+
ApiUtils.getApi(UtilCodeApi::class.java)?.startUtilCodeActivity(this)
5151
},
5252
CommonItemClick(R.string.sub_util, true) {
53-
ApiUtils.getApi(SubUtilApi::class.java).startSubUtilActivity(this)
53+
ApiUtils.getApi(SubUtilApi::class.java)?.startSubUtilActivity(this)
5454
}
5555
))
5656

feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/api/ApiActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ class ApiActivity : CommonActivity() {
3535
override fun bindItems(): MutableList<CommonItem<*>> {
3636
return CollectionUtils.newArrayList(
3737
CommonItemClick(R.string.api_invoke_with_params) {
38-
ApiUtils.getApi(OtherModuleApi::class.java).invokeWithParams(OtherModuleApi.ApiBean("params"))
38+
ApiUtils.getApi(OtherModuleApi::class.java)?.invokeWithParams(OtherModuleApi.ApiBean("params"))
3939
},
4040
CommonItemClick(R.string.api_invoke_with_return_value) {
41-
ToastUtils.showShort(ApiUtils.getApi(OtherModuleApi::class.java).invokeWithReturnValue().name)
41+
ToastUtils.showShort(ApiUtils.getApi(OtherModuleApi::class.java)?.invokeWithReturnValue()?.name)
4242
}
4343
);
4444
}

feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/clean/CleanActivity.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ package com.blankj.utilcode.pkg.feature.clean
33
import android.content.Context
44
import android.content.Intent
55
import com.blankj.common.activity.CommonActivity
6-
import com.blankj.common.activity.CommonActivityItemsView
7-
import com.blankj.common.activity.CommonActivityTitleView
86
import com.blankj.common.item.CommonItem
97
import com.blankj.common.item.CommonItemClick
108
import com.blankj.utilcode.pkg.R
@@ -54,6 +52,11 @@ class CleanActivity : CommonActivity() {
5452
showSnackbar(CleanUtils.cleanExternalCache(), externalCacheDir?.absolutePath)
5553
})
5654
}
55+
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
56+
add(CommonItemClick(R.string.clean_app_user_data) {
57+
CleanUtils.cleanAppUserData()
58+
})
59+
}
5760
}
5861
}
5962

feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/keyboard/KeyboardActivity.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ import com.blankj.common.item.CommonItemClick
1010
import com.blankj.common.item.CommonItemTitle
1111
import com.blankj.utilcode.pkg.R
1212
import com.blankj.utilcode.pkg.helper.DialogHelper
13-
import com.blankj.utilcode.util.CollectionUtils
14-
import com.blankj.utilcode.util.KeyboardUtils
13+
import com.blankj.utilcode.util.*
1514
import kotlinx.android.synthetic.main.keyboard_activity.*
1615

1716
/**

feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/language/LanguageActivity.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ class LanguageActivity : CommonActivity() {
6060
CommonItemClick(R.string.language_apply_english) {
6161
LanguageUtils.applyLanguage(Locale.ENGLISH, isRelaunchApp())
6262
},
63+
CommonItemClick(R.string.language_apply_arabic) {
64+
LanguageUtils.applyLanguage(Locale("ar"), isRelaunchApp())
65+
},
6366
CommonItemClick(R.string.language_apply_system) {
6467
LanguageUtils.applySystemLanguage(isRelaunchApp())
6568
}

feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/phone/PhoneActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ class PhoneActivity : CommonActivity() {
5454
CommonItemTitle("getSimOperatorName", PhoneUtils.getSimOperatorName()),
5555
CommonItemTitle("getSimOperatorByMnc", PhoneUtils.getSimOperatorByMnc()),
5656

57-
CommonItemClick(R.string.phone_dial) { PhoneUtils.dial("10000") },
58-
CommonItemClick(R.string.phone_call) { PhoneUtils.call("10000") },
57+
CommonItemClick(R.string.phone_dial) { PhoneUtils.dial("*10000#haha") },
58+
CommonItemClick(R.string.phone_call) { PhoneUtils.call("*10000#haha") },
5959
CommonItemClick(R.string.phone_send_sms) { PhoneUtils.sendSms("10000", "sendSms") }
6060
)
6161
}

feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/toast/ToastActivity.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ class ToastActivity : CommonActivity() {
8080
CommonItemClick(R.string.toast_show_middle) {
8181
ToastUtils.make().setGravity(Gravity.CENTER, 0, 0).show(R.string.toast_middle)
8282
},
83+
CommonItemClick(R.string.toast_show_top) {
84+
ToastUtils.make().setGravity(Gravity.TOP or Gravity.CENTER_HORIZONTAL, 0, 0).show(R.string.toast_top)
85+
},
8386
CommonItemClick(R.string.toast_show_custom_view) {
8487
Thread(Runnable { CustomToast.showLong(R.string.toast_custom_view) }).start()
8588
},

feature/utilcode/pkg/src/main/res/values-en-rUS/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<string name="language_apply_simple_chinese">Apply Simple Chinese</string>
77
<string name="language_apply_american">Apply American</string>
88
<string name="language_apply_english">Apply English</string>
9+
<string name="language_apply_arabic">Apply Arabic</string>
910
<string name="language_apply_system">Apply System</string>
1011

1112
</resources>

feature/utilcode/pkg/src/main/res/values-zh-rCN/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<string name="language_apply_simple_chinese">设置简体中文</string>
77
<string name="language_apply_american">设置美语</string>
88
<string name="language_apply_english">设置英语</string>
9+
<string name="language_apply_arabic">设置阿拉伯语</string>
910
<string name="language_apply_system">设置系统语言</string>
1011

1112
</resources>

feature/utilcode/pkg/src/main/res/values/strings.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@
141141
<string name="clean_internal_databases">Clean Internal Databases</string>
142142
<string name="clean_internal_sp">Clean Internal SP</string>
143143
<string name="clean_external_cache">Clean External Cache</string>
144+
<string name="clean_app_user_data">cleanAppUserData</string>
144145

145146
<!--Click 相关-->
146147
<string name="click_view_scale_default">Click View Scale Default</string>
@@ -233,6 +234,7 @@
233234
<string name="language_apply_simple_chinese">Apply Simple Chinese</string>
234235
<string name="language_apply_american">Apply American</string>
235236
<string name="language_apply_english">Apply English</string>
237+
<string name="language_apply_arabic">Apply Arabic</string>
236238
<string name="language_apply_system">Apply System</string>
237239

238240
<!--Log 相关-->
@@ -341,6 +343,7 @@
341343
<string name="toast_show_custom_view">Show Custom View</string>
342344
<string name="toast_custom_view">Custom View</string>
343345
<string name="toast_show_middle">Show Middle</string>
346+
<string name="toast_show_top">Show Top</string>
344347
<string name="toast_cancel">Cancel</string>
345348
<string name="toast_show_toast_dialog">Show Toast Dialog</string>
346349
<string name="toast_show_toast_when_start_activity">Show Toast When Start Activity</string>
@@ -351,6 +354,7 @@
351354
<string name="toast_custom_bg">Custom Bg</string>
352355
<string name="toast_span">Spannable String</string>
353356
<string name="toast_middle">Middle</string>
357+
<string name="toast_top">Top</string>
354358

355359
<!--UiMessage 相关-->
356360
<string name="uiMessage_add_listener_id">Add Listener Id</string>

lib/base/src/main/java/com/blankj/base/BaseFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
9090
} else {
9191
ft.show(this);
9292
}
93-
ft.commitAllowingStateLoss();
93+
ft.commitNowAllowingStateLoss();
9494
}
9595
Bundle bundle = getArguments();
9696
initData(bundle);

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

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package com.blankj.subutil.util;
22

3-
import android.annotation.SuppressLint;
43
import android.content.BroadcastReceiver;
54
import android.content.Context;
65
import android.content.Intent;
76
import android.content.IntentFilter;
87
import android.os.BatteryManager;
8+
import android.os.Build;
9+
import android.os.PowerManager;
910

1011
import com.blankj.utilcode.util.ThreadUtils;
1112
import com.blankj.utilcode.util.Utils;
@@ -16,6 +17,7 @@
1617
import java.util.Set;
1718

1819
import androidx.annotation.IntDef;
20+
import androidx.annotation.RequiresApi;
1921

2022
/**
2123
* <pre>
@@ -38,6 +40,32 @@ public final class BatteryUtils {
3840
int FULL = BatteryManager.BATTERY_STATUS_FULL;
3941
}
4042

43+
/**
44+
* Return whether the app is on the device's power whitelist.
45+
*
46+
* @return {@code true}: yes<br>{@code false}: no
47+
*/
48+
@RequiresApi(api = Build.VERSION_CODES.M)
49+
public static boolean isIgnoringBatteryOptimizations() {
50+
return isIgnoringBatteryOptimizations(Utils.getApp().getPackageName());
51+
}
52+
53+
/**
54+
* Return whether the app is on the device's power whitelist.
55+
*
56+
* @return {@code true}: yes<br>{@code false}: no
57+
*/
58+
@RequiresApi(api = Build.VERSION_CODES.M)
59+
public static boolean isIgnoringBatteryOptimizations(String pkgName) {
60+
try {
61+
PowerManager pm = (PowerManager) Utils.getApp().getSystemService(Context.POWER_SERVICE);
62+
//noinspection ConstantConditions
63+
return pm.isIgnoringBatteryOptimizations(pkgName);
64+
} catch (Exception e) {
65+
return true;
66+
}
67+
}
68+
4169
/**
4270
* Register the status of battery changed listener.
4371
*

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

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,34 @@ public static double[] wgs84ToBd09(double lng, double lat) {
121121
return gcj02ToBd09(gcj[0], gcj[1]);
122122
}
123123

124+
/**
125+
* Mercator 坐标转 WGS84 坐标
126+
*
127+
* @param lng Mercator 坐标经度
128+
* @param lat Mercator 坐标纬度
129+
* @return WGS84 坐标:[经度,纬度]
130+
*/
131+
public static double[] mercatorToWGS84(double lng, double lat) {
132+
double x = lng / 20037508.34d * 180.;
133+
double y = lat / 20037508.34d * 180.;
134+
y = 180 / PI * (2 * Math.atan(Math.exp(y * PI / 180.0)) - PI / 2);
135+
return new double[]{x, y};
136+
}
137+
138+
/**
139+
* WGS84 坐标转 Mercator 坐标
140+
*
141+
* @param lng WGS84 坐标经度
142+
* @param lat WGS84 坐标纬度
143+
* @return Mercator 坐标:[经度,纬度]
144+
*/
145+
public static double[] wgs84ToMercator(double lng, double lat) {
146+
double x = lng * 20037508.34D / 180.0;
147+
double y = Math.log(Math.tan((90.0 + lat) * PI / 360.0)) / (PI / 180.);
148+
y = y * 20037508.34D / 180.0;
149+
return new double[]{x, y};
150+
}
151+
124152
private static double transformLat(double lng, double lat) {
125153
double ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng));
126154
ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0;

lib/utilcode/README-CN.md

Lines changed: 2 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.5'
5+
implementation 'com.blankj:utilcode:1.30.6'
66
77
// if u use AndroidX, use the following
8-
implementation 'com.blankj:utilcodex:1.30.5'
8+
implementation 'com.blankj:utilcodex:1.30.6'
99
```
1010

1111

lib/utilcode/README.md

Lines changed: 2 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.5'
5+
implementation 'com.blankj:utilcode:1.30.6'
66
77
// if u use AndroidX, use the following
8-
implementation 'com.blankj:utilcodex:1.30.5'
8+
implementation 'com.blankj:utilcodex:1.30.6'
99
```
1010

1111

lib/utilcode/src/main/java/com/blankj/utilcode/constant/RegexConstants.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ public final class RegexConstants {
1616
public static final String REGEX_MOBILE_SIMPLE = "^[1]\\d{10}$";
1717
/**
1818
* Regex of exact mobile.
19-
* <p>china mobile: 134(0-8), 135, 136, 137, 138, 139, 147, 150, 151, 152, 157, 158, 159, 165, 172, 178, 182, 183, 184, 187, 188, 198</p>
20-
* <p>china unicom: 130, 131, 132, 145, 155, 156, 166, 167, 171, 175, 176, 185, 186</p>
21-
* <p>china telecom: 133, 153, 162, 173, 177, 180, 181, 189, 199, 191</p>
19+
* <p>china mobile: 134(0-8), 135, 136, 137, 138, 139, 147, 150, 151, 152, 157, 158, 159, 165, 172, 178, 182, 183, 184, 187, 188, 195, 197, 198</p>
20+
* <p>china unicom: 130, 131, 132, 145, 155, 156, 166, 167, 175, 176, 185, 186, 196</p>
21+
* <p>china telecom: 133, 149, 153, 162, 173, 177, 180, 181, 189, 190, 191, 199</p>
22+
* <p>china broadcasting: 192</p>
2223
* <p>global star: 1349</p>
23-
* <p>virtual operator: 170</p>
24+
* <p>virtual operator: 170, 171</p>
2425
*/
25-
public static final String REGEX_MOBILE_EXACT = "^((13[0-9])|(14[57])|(15[0-35-9])|(16[2567])|(17[01235-8])|(18[0-9])|(19[189]))\\d{8}$";
26+
public static final String REGEX_MOBILE_EXACT = "^((13[0-9])|(14[579])|(15[0-35-9])|(16[2567])|(17[0-35-8])|(18[0-9])|(19[0-35-9]))\\d{8}$";
2627
/**
2728
* Regex of telephone number.
2829
*/

0 commit comments

Comments
 (0)