提交 96a3d026 编写于 作者: B Blankj

see 06/30 log

上级 e0baf700
* `19/06/30` [add] LanguageUtils support activity's class name. Publish v1.24.7.
* `19/06/29` [add] ClickUtils#OnMultiClickListener, and remove dangerous function. Publish v1.24.6.
* `19/06/28` [add] LanguageUtils. Publish v1.24.5.
* `19/06/20` [fix] BusUtils' permission. Publish v1.24.4.
......
......@@ -41,7 +41,7 @@
[logo]: https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png
[aucSvg]: https://img.shields.io/badge/AndroidUtilCode-v1.24.6-brightgreen.svg
[aucSvg]: https://img.shields.io/badge/AndroidUtilCode-v1.24.7-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.24.6-brightgreen.svg
[aucSvg]: https://img.shields.io/badge/AndroidUtilCode-v1.24.7-brightgreen.svg
[auc]: https://github.com/Blankj/AndroidUtilCode
[apiSvg]: https://img.shields.io/badge/API-14+-brightgreen.svg
......
......@@ -8,8 +8,8 @@ gradle.ext {
compileSdkVersion = 27
minSdkVersion = 14
targetSdkVersion = 27
versionCode = 1_024_006
versionName = '1.24.6'// E.g. 1.9.72 => 1,009,072
versionCode = 1_024_007
versionName = '1.24.7'// E.g. 1.9.72 => 1,009,072
// lib version
kotlin_version = '1.3.10'
......
......@@ -2,10 +2,10 @@
Gradle:
```groovy
implementation 'com.blankj:utilcode:1.24.6'
implementation 'com.blankj:utilcode:1.24.7'
// if u use AndroidX, use the following
implementation 'com.blankj:utilcodex:1.24.6'
implementation 'com.blankj:utilcodex:1.24.7'
```
......
......@@ -27,7 +27,7 @@ apply plugin: "com.blankj.bus"
给 base 模块添加 [AndroidUtilCode](https://github.com/Blankj/AndroidUtilCode) 依赖:
```groovy
api "com.blankj:utilcode:1.24.6"
api "com.blankj:utilcode:1.24.7"
```
比如 module0 中存在的 `Module0Activity.java`,我们通常都是在它内部写一个 `start` 函数来启动它,现在我们给它添加 `@BusUtils.Subscribe` 注解,并给注解的 `name` 赋唯一值,要注意,函数务必要 `public static` 哦:
......
......@@ -2,10 +2,10 @@
Gradle:
```groovy
implementation 'com.blankj:utilcode:1.24.6'
implementation 'com.blankj:utilcode:1.24.7'
// if u use AndroidX, use the following
implementation 'com.blankj:utilcodex:1.24.6'
implementation 'com.blankj:utilcodex:1.24.7'
```
......
......@@ -36,26 +36,57 @@ public class LanguageUtils {
/**
* Apply the system language.
*
* @param mainActivityClz The class of activity will be started after apply system language.
* @param activityClz The class of activity will be started after apply system language.
*/
public static void applySystemLanguage(final Class<? extends Activity> mainActivityClz) {
applyLanguage(Resources.getSystem().getConfiguration().locale, mainActivityClz, true);
public static void applySystemLanguage(final Class<? extends Activity> activityClz) {
applyLanguage(Resources.getSystem().getConfiguration().locale, activityClz, true);
}
/**
* Apply the system language.
*
* @param activityClassName The full class name of activity will be started after apply system language.
*/
public static void applySystemLanguage(final String activityClassName) {
applyLanguage(Resources.getSystem().getConfiguration().locale, activityClassName, true);
}
/**
* Apply the language.
*
* @param locale The language of locale.
* @param mainActivityClz The class of activity will be started after apply system language.
* It will start the launcher activity if the class is null.
* @param locale The language of locale.
* @param activityClz The class of activity will be started after apply system language.
* It will start the launcher activity if the class is null.
*/
public static void applyLanguage(@NonNull final Locale locale,
final Class<? extends Activity> mainActivityClz) {
applyLanguage(locale, mainActivityClz, false);
final Class<? extends Activity> activityClz) {
applyLanguage(locale, activityClz, false);
}
/**
* Apply the language.
*
* @param locale The language of locale.
* @param activityClassName The class of activity will be started after apply system language.
* It will start the launcher activity if the class name is null.
*/
public static void applyLanguage(@NonNull final Locale locale,
final String activityClassName) {
applyLanguage(locale, activityClassName, false);
}
private static void applyLanguage(@NonNull final Locale locale,
final Class<? extends Activity> activityClz,
final boolean isFollowSystem) {
if (activityClz == null) {
applyLanguage(locale, "", isFollowSystem);
return;
}
applyLanguage(locale, activityClz.getName(), isFollowSystem);
}
private static void applyLanguage(@NonNull final Locale locale,
final Class<? extends Activity> mainActivityClz,
final String activityClassName,
final boolean isFollowSystem) {
if (isFollowSystem) {
SPUtils.getInstance().put(KEY_LOCALE, "");
......@@ -67,13 +98,10 @@ public class LanguageUtils {
updateLanguage(Utils.getApp(), locale);
Intent intent;
if (mainActivityClz == null) {
intent = new Intent();
intent.setComponent(new ComponentName(Utils.getApp(), getLauncherActivity()));
} else {
intent = new Intent(Utils.getApp(), mainActivityClz);
}
Intent intent = new Intent();
String realActivityClassName
= TextUtils.isEmpty(activityClassName) ? getLauncherActivity() : activityClassName;
intent.setComponent(new ComponentName(Utils.getApp(), realActivityClassName));
intent.addFlags(
Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK
......
......@@ -23,7 +23,7 @@ import static org.junit.Assert.assertTrue;
* desc : test TimeUtils
* </pre>
*/
public class TimeUtilsTest {
public class TimeUtilsTest {
private final DateFormat defaultFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
private final DateFormat mFormat = new SimpleDateFormat("yyyy MM dd HH:mm:ss", Locale.getDefault());
......@@ -56,14 +56,14 @@ public class TimeUtilsTest {
public void string2Date() {
assertEquals(timeDate, TimeUtils.string2Date(timeString));
assertEquals(timeDate, TimeUtils.string2Date(timeStringFormat, mFormat));
assertEquals(timeDate, TimeUtils.string2Date(timeStringFormat, "yyyy-MM-dd HH:mm:ss"));
assertEquals(timeDate, TimeUtils.string2Date(timeStringFormat, "yyyy MM dd HH:mm:ss"));
}
@Test
public void date2String() {
assertEquals(timeString, TimeUtils.date2String(timeDate));
assertEquals(timeStringFormat, TimeUtils.date2String(timeDate, mFormat));
assertEquals(timeStringFormat, TimeUtils.date2String(timeDate, "yyyy-MM-dd HH:mm:ss"));
assertEquals(timeStringFormat, TimeUtils.date2String(timeDate, "yyyy MM dd HH:mm:ss"));
}
@Test
......
......@@ -54,9 +54,9 @@ class LanguageActivity : CommonTitleActivity() {
when (view.id) {
R.id.languageApp -> ToastUtils.showLong(R.string.language)
R.id.languageActivity -> ToastUtils.showLong(getString(R.string.language))
R.id.applySimpleChineseLanguage -> LanguageUtils.applyLanguage(Locale.SIMPLIFIED_CHINESE, null)
R.id.applyAmericanLanguage -> LanguageUtils.applyLanguage(Locale.US, null)
R.id.applySystemLanguage -> LanguageUtils.applySystemLanguage(null)
R.id.applySimpleChineseLanguage -> LanguageUtils.applyLanguage(Locale.SIMPLIFIED_CHINESE, "com.blankj.launcher.pkg.MainActivity")
R.id.applyAmericanLanguage -> LanguageUtils.applyLanguage(Locale.US, "")
R.id.applySystemLanguage -> LanguageUtils.applySystemLanguage("")
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册