Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xiaoxuan_i809
AndroidUtilCode
提交
ed567e11
A
AndroidUtilCode
项目概览
xiaoxuan_i809
/
AndroidUtilCode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
AndroidUtilCode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
ed567e11
编写于
4月 19, 2020
作者:
B
Blankj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
see 04/19 log
上级
deb9f5c9
变更
19
隐藏空白更改
内联
并排
Showing
19 changed file
with
216 addition
and
55 deletion
+216
-55
CHANGELOG.md
CHANGELOG.md
+4
-0
buildSrc/src/main/groovy/Config.groovy
buildSrc/src/main/groovy/Config.groovy
+1
-1
feature/utilcode/pkg/src/main/AndroidManifest.xml
feature/utilcode/pkg/src/main/AndroidManifest.xml
+4
-0
feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/CoreUtilActivity.kt
.../java/com/blankj/utilcode/pkg/feature/CoreUtilActivity.kt
+4
-0
feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/bus/BusCompareActivity.kt
...com/blankj/utilcode/pkg/feature/bus/BusCompareActivity.kt
+37
-29
feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/uiMessage/UiMessageActivity.kt
...lankj/utilcode/pkg/feature/uiMessage/UiMessageActivity.kt
+78
-0
feature/utilcode/pkg/src/main/res/values/ids.xml
feature/utilcode/pkg/src/main/res/values/ids.xml
+4
-0
feature/utilcode/pkg/src/main/res/values/strings.xml
feature/utilcode/pkg/src/main/res/values/strings.xml
+8
-1
lib/common/src/main/java/com/blankj/common/activity/CommonActivity.java
.../main/java/com/blankj/common/activity/CommonActivity.java
+1
-1
lib/utilcode/README-CN.md
lib/utilcode/README-CN.md
+5
-3
lib/utilcode/README.md
lib/utilcode/README.md
+5
-3
lib/utilcode/src/main/AndroidManifest.xml
lib/utilcode/src/main/AndroidManifest.xml
+1
-2
lib/utilcode/src/main/java/com/blankj/utilcode/util/ConvertUtils.java
.../src/main/java/com/blankj/utilcode/util/ConvertUtils.java
+37
-2
lib/utilcode/src/main/java/com/blankj/utilcode/util/FileUtils.java
...ode/src/main/java/com/blankj/utilcode/util/FileUtils.java
+1
-1
lib/utilcode/src/main/java/com/blankj/utilcode/util/ImageUtils.java
...de/src/main/java/com/blankj/utilcode/util/ImageUtils.java
+15
-4
lib/utilcode/src/main/java/com/blankj/utilcode/util/MessengerUtils.java
...rc/main/java/com/blankj/utilcode/util/MessengerUtils.java
+2
-1
lib/utilcode/src/main/java/com/blankj/utilcode/util/PermissionUtils.java
...c/main/java/com/blankj/utilcode/util/PermissionUtils.java
+2
-2
lib/utilcode/src/main/java/com/blankj/utilcode/util/UiMessageUtils.java
...rc/main/java/com/blankj/utilcode/util/UiMessageUtils.java
+2
-4
lib/utilcode/src/main/res/xml/util_code_provider_paths.xml
lib/utilcode/src/main/res/xml/util_code_provider_paths.xml
+5
-1
未找到文件。
CHANGELOG.md
浏览文件 @
ed567e11
*
`20/04/18`
[fix] PermissionUtils#callback. Publish v1.28.1.
*
`20/04/17`
[fix] ImageUtils#view2Bitmap, ImageUtils.getBitmap(InputStream).
*
`20/04/16`
[add] ConvertUtils#int2HexString, hexString2Int.
*
`20/04/15`
[add] UiMessageUtils' demo.
*
`20/04/13`
[add] NumberUtils. Publish v1.28.0.
*
`20/04/12`
[opt] TimeUtils#SDF_THREAD_LOCAL.
*
`20/04/11`
[add] SDCardUtils#getXxTotalSize, SDCardUtils#getXxAvailableSize. FileUtils#getFsTotalSize, FileUtils#getFsAvailableSize.
...
...
buildSrc/src/main/groovy/Config.groovy
浏览文件 @
ed567e11
...
...
@@ -15,7 +15,7 @@ class Config {
static
minSdkVersion
=
14
static
targetSdkVersion
=
29
static
versionCode
=
1
_026_001
static
versionName
=
'1.28.
0
'
// E.g. 1.9.72 => 1,009,072
static
versionName
=
'1.28.
1
'
// E.g. 1.9.72 => 1,009,072
// lib version
static
gradlePluginVersion
=
'3.5.0'
...
...
feature/utilcode/pkg/src/main/AndroidManifest.xml
浏览文件 @
ed567e11
...
...
@@ -255,6 +255,10 @@
android:name=
".feature.toast.ToastActivity"
android:configChanges=
"orientation|keyboardHidden|screenSize"
android:launchMode=
"singleTop"
/>
<activity
android:name=
".feature.uiMessage.UiMessageActivity"
android:configChanges=
"orientation|keyboardHidden|screenSize"
android:launchMode=
"singleTop"
/>
<activity
android:name=
".feature.vibrate.VibrateActivity"
android:configChanges=
"orientation|keyboardHidden|screenSize"
...
...
feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/CoreUtilActivity.kt
浏览文件 @
ed567e11
...
...
@@ -44,6 +44,7 @@ import com.blankj.utilcode.pkg.feature.snackbar.SnackbarActivity
import
com.blankj.utilcode.pkg.feature.spStatic.SPStaticActivity
import
com.blankj.utilcode.pkg.feature.span.SpanActivity
import
com.blankj.utilcode.pkg.feature.toast.ToastActivity
import
com.blankj.utilcode.pkg.feature.uiMessage.UiMessageActivity
import
com.blankj.utilcode.pkg.feature.vibrate.VibrateActivity
import
com.blankj.utilcode.util.CollectionUtils
import
com.blankj.utilcode.util.UtilsTransActivity
...
...
@@ -191,6 +192,9 @@ class CoreUtilActivity : CommonActivity() {
}
})
},
CommonItemClick
(
R
.
string
.
demo_uiMessage
,
true
)
{
UiMessageActivity
.
start
(
this
)
},
CommonItemClick
(
R
.
string
.
demo_vibrate
,
true
)
{
VibrateActivity
.
start
(
this
)
}
...
...
feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/bus/BusCompareActivity.kt
浏览文件 @
ed567e11
...
...
@@ -157,39 +157,47 @@ class BusCompareActivity : CommonActivity() {
* 注销 10000 个订阅者,共执行 10 次取平均值
*/
private
fun
compareUnregister10000Times
()
{
val
tests
=
ArrayList
<
BusEvent
>()
for
(
i
in
0
..
9999
)
{
val
test
=
BusEvent
()
EventBus
.
getDefault
().
register
(
test
)
BusUtils
.
register
(
test
)
tests
.
add
(
test
)
}
compareWithEventBus
(
"Unregister 10000 times."
,
10
,
1
,
object
:
CompareCallback
{
override
fun
runEventBus
()
{
for
(
test
in
tests
)
{
EventBus
.
getDefault
().
unregister
(
test
)
}
}
override
fun
runBusUtils
()
{
for
(
test
in
tests
)
{
BusUtils
.
unregister
(
test
)
}
}
override
fun
restState
()
{
for
(
test
in
tests
)
{
showLoading
()
ThreadUtils
.
executeBySingle
(
object
:
ThreadUtils
.
SimpleTask
<
List
<
BusEvent
>>()
{
override
fun
doInBackground
():
List
<
BusEvent
>
{
val
tests
=
ArrayList
<
BusEvent
>()
for
(
i
in
0
..
9999
)
{
val
test
=
BusEvent
()
EventBus
.
getDefault
().
register
(
test
)
BusUtils
.
register
(
test
)
tests
.
add
(
test
)
}
return
tests
}
},
object
:
OnFinishCallback
{
override
fun
onFinish
()
{
for
(
test
in
tests
)
{
EventBus
.
getDefault
().
unregister
(
test
)
BusUtils
.
unregister
(
test
)
}
override
fun
onSuccess
(
tests
:
List
<
BusEvent
>)
{
compareWithEventBus
(
"Unregister 10000 times."
,
10
,
1
,
object
:
CompareCallback
{
override
fun
runEventBus
()
{
for
(
test
in
tests
)
{
EventBus
.
getDefault
().
unregister
(
test
)
}
}
override
fun
runBusUtils
()
{
for
(
test
in
tests
)
{
BusUtils
.
unregister
(
test
)
}
}
override
fun
restState
()
{
for
(
test
in
tests
)
{
EventBus
.
getDefault
().
register
(
test
)
BusUtils
.
register
(
test
)
}
}
},
object
:
OnFinishCallback
{
override
fun
onFinish
()
{
for
(
test
in
tests
)
{
EventBus
.
getDefault
().
unregister
(
test
)
BusUtils
.
unregister
(
test
)
}
}
})
}
})
}
...
...
feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/uiMessage/UiMessageActivity.kt
0 → 100644
浏览文件 @
ed567e11
package
com.blankj.utilcode.pkg.feature.uiMessage
import
android.content.Context
import
android.content.Intent
import
com.blankj.common.activity.CommonActivity
import
com.blankj.common.item.CommonItem
import
com.blankj.common.item.CommonItemClick
import
com.blankj.common.item.CommonItemTitle
import
com.blankj.utilcode.pkg.R
import
com.blankj.utilcode.util.CollectionUtils
import
com.blankj.utilcode.util.UiMessageUtils
/**
* ```
* author: Blankj
* blog : http://blankj.com
* time : 2020/04/14
* desc : demo about UiMessageUtils
* ```
*/
class
UiMessageActivity
:
CommonActivity
(),
UiMessageUtils
.
UiMessageCallback
{
private
val
titleItem
:
CommonItemTitle
=
CommonItemTitle
(
""
,
true
);
private
var
sendContent
:
String
=
""
companion
object
{
fun
start
(
context
:
Context
)
{
val
starter
=
Intent
(
context
,
UiMessageActivity
::
class
.
java
)
context
.
startActivity
(
starter
)
}
}
override
fun
bindTitleRes
():
Int
{
return
R
.
string
.
demo_uiMessage
}
override
fun
bindItems
():
List
<
CommonItem
<
*
>>
{
return
CollectionUtils
.
newArrayList
(
titleItem
,
CommonItemClick
(
R
.
string
.
uiMessage_add_listener_id
)
{
UiMessageUtils
.
getInstance
().
addListener
(
R
.
id
.
utilCodeUiMessageAddListenerId
,
this
)
},
CommonItemClick
(
R
.
string
.
uiMessage_remove_all_id
)
{
UiMessageUtils
.
getInstance
().
removeListeners
(
R
.
id
.
utilCodeUiMessageAddListenerId
)
},
CommonItemClick
(
R
.
string
.
uiMessage_add_listener
)
{
UiMessageUtils
.
getInstance
().
addListener
(
this
)
},
CommonItemClick
(
R
.
string
.
uiMessage_remove_listener
)
{
UiMessageUtils
.
getInstance
().
removeListener
(
this
)
},
CommonItemClick
(
R
.
string
.
uiMessage_send
)
{
sendContent
=
"send: UiMessageActivity#${UiMessageActivity.hashCode()}"
titleItem
.
title
=
""
UiMessageUtils
.
getInstance
().
send
(
R
.
id
.
utilCodeUiMessageAddListenerId
,
UiMessageActivity
)
}
)
}
override
fun
handleMessage
(
localMessage
:
UiMessageUtils
.
UiMessage
)
{
if
(
localMessage
.
id
==
R
.
id
.
utilCodeUiMessageAddListenerId
)
{
var
content
:
String
=
sendContent
content
+=
"\nreceive: UiMessageActivity#${localMessage.getObject().hashCode()}"
titleItem
.
title
=
if
(
titleItem
.
title
.
toString
().
isEmpty
())
{
content
}
else
{
titleItem
.
title
.
toString
()
+
"\n"
+
content
}
}
}
override
fun
onDestroy
()
{
super
.
onDestroy
()
UiMessageUtils
.
getInstance
().
removeListeners
(
R
.
id
.
utilCodeUiMessageAddListenerId
)
UiMessageUtils
.
getInstance
().
removeListener
(
this
)
}
}
\ No newline at end of file
feature/utilcode/pkg/src/main/res/values/ids.xml
0 → 100644
浏览文件 @
ed567e11
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item
name=
"utilCodeUiMessageAddListenerId"
type=
"id"
/>
</resources>
\ No newline at end of file
feature/utilcode/pkg/src/main/res/values/strings.xml
浏览文件 @
ed567e11
...
...
@@ -37,6 +37,7 @@
<string
name=
"demo_spStatic"
>
SPStaticUtils Demo
</string>
<string
name=
"demo_span"
>
SpanUtils Demo
</string>
<string
name=
"demo_toast"
>
ToastUtils Demo
</string>
<string
name=
"demo_uiMessage"
>
UiMessage Demo
</string>
<string
name=
"demo_trans_activity"
>
TransActivity Demo
</string>
<string
name=
"demo_vibrate"
>
VibrateUtils Demo
</string>
...
...
@@ -337,7 +338,6 @@
<string
name=
"toast_show_middle"
>
Show Middle
</string>
<string
name=
"toast_cancel"
>
Cancel
</string>
<string
name=
"toast_show_toast_dialog"
>
Show Toast Dialog
</string>
<string
name=
"toast_short"
>
Short
</string>
<string
name=
"toast_long"
>
Long
</string>
<string
name=
"toast_green_font"
>
Green Font
</string>
...
...
@@ -346,6 +346,13 @@
<string
name=
"toast_span"
>
Spannable String
</string>
<string
name=
"toast_middle"
>
Middle
</string>
<!--UiMessage 相关-->
<string
name=
"uiMessage_add_listener_id"
>
Add Listener Id
</string>
<string
name=
"uiMessage_remove_all_id"
>
Remove All Id
</string>
<string
name=
"uiMessage_add_listener"
>
Add Listener
</string>
<string
name=
"uiMessage_remove_listener"
>
Remove Listener
</string>
<string
name=
"uiMessage_send"
>
Send
</string>
<!--Vibrate 相关-->
<string
name=
"vibrate_1000ms"
>
Vibrate 1000ms
</string>
<string
name=
"vibrate_custom"
>
Vibrate Custom
</string>
...
...
lib/common/src/main/java/com/blankj/common/activity/CommonActivity.java
浏览文件 @
ed567e11
...
...
@@ -209,7 +209,7 @@ public abstract class CommonActivity extends BaseActivity {
public
void
showLoading
(
Runnable
listener
)
{
if
(
mDialogLoading
!=
null
)
{
dismissLoading
()
;
return
;
}
mDialogLoading
=
new
CommonDialogLoading
().
init
(
this
,
listener
);
mDialogLoading
.
show
();
...
...
lib/utilcode/README-CN.md
浏览文件 @
ed567e11
...
...
@@ -2,10 +2,10 @@
Gradle:
```
groovy
implementation
'com.blankj:utilcode:1.28.
0
'
implementation
'com.blankj:utilcode:1.28.
1
'
// if u use AndroidX, use the following
implementation
'com.blankj:utilcodex:1.28.
0
'
implementation
'com.blankj:utilcodex:1.28.
1
'
```
...
...
@@ -346,6 +346,7 @@ getRandomColor : 获取随机色
*
### 转换相关 ->
[
ConvertUtils.java
][
convert.java
]
->
[
Test
][
convert.test
]
```
int2HexString, hexString2Int : int 与 hexString 互转
bytes2Bits, bits2Bytes : bytes 与 bits 互转
bytes2Chars, chars2Bytes : bytes 与 chars 互转
bytes2HexString, hexString2Bytes : bytes 与 hexString 互转
...
...
@@ -1147,7 +1148,7 @@ cancel : 取消吐司显示
setOnTouchListener: 设置触摸事件
```
*
### UI 消息相关 ->
[
UiMessageUtils.java
][
uiMessage.java
]
*
### UI 消息相关 ->
[
UiMessageUtils.java
][
uiMessage.java
]
->
[
Demo
][
uiMessage.demo
]
```
send : 发送消息
addListener : 新增消息监听器
...
...
@@ -1388,6 +1389,7 @@ getComments : 获取压缩文件中的注释链表
[
touch.java
]:
https://github.com/Blankj/AndroidUtilCode/blob/master/lib/utilcode/src/main/java/com/blankj/utilcode/util/TouchUtils.java
[
uiMessage.java
]:
https://github.com/Blankj/AndroidUtilCode/blob/master/lib/utilcode/src/main/java/com/blankj/utilcode/util/UiMessageUtils.java
[
uiMessage.demo
]:
https://github.com/Blankj/AndroidUtilCode/blob/master/feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/uiMessage/UiMessageActivity.kt
[
uri.java
]:
https://github.com/Blankj/AndroidUtilCode/blob/master/lib/utilcode/src/main/java/com/blankj/utilcode/util/UriUtils.java
...
...
lib/utilcode/README.md
浏览文件 @
ed567e11
...
...
@@ -2,10 +2,10 @@
Gradle:
```
groovy
implementation
'com.blankj:utilcode:1.28.
0
'
implementation
'com.blankj:utilcode:1.28.
1
'
// if u use AndroidX, use the following
implementation
'com.blankj:utilcodex:1.28.
0
'
implementation
'com.blankj:utilcodex:1.28.
1
'
```
...
...
@@ -346,6 +346,7 @@ getRandomColor
*
### About Convert ->
[
ConvertUtils.java
][
convert.java
]
->
[
Test
][
convert.test
]
```
int2HexString, hexString2Int
bytes2Bits, bits2Bytes
bytes2Chars, chars2Bytes
bytes2HexString, hexString2Bytes
...
...
@@ -1147,7 +1148,7 @@ cancel
setOnTouchListener
```
*
### About UiMessage ->
[
UiMessageUtils.java
][
uiMessage.java
]
*
### About UiMessage ->
[
UiMessageUtils.java
][
uiMessage.java
]
->
[
Demo
][
uiMessage.demo
]
```
send
addListener
...
...
@@ -1385,6 +1386,7 @@ getComments
[
touch.java
]:
https://github.com/Blankj/AndroidUtilCode/blob/master/lib/utilcode/src/main/java/com/blankj/utilcode/util/TouchUtils.java
[
uiMessage.java
]:
https://github.com/Blankj/AndroidUtilCode/blob/master/lib/utilcode/src/main/java/com/blankj/utilcode/util/UiMessageUtils.java
[
uiMessage.demo
]:
https://github.com/Blankj/AndroidUtilCode/blob/master/feature/utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/uiMessage/UiMessageActivity.kt
[
uri.java
]:
https://github.com/Blankj/AndroidUtilCode/blob/master/lib/utilcode/src/main/java/com/blankj/utilcode/util/UriUtils.java
...
...
lib/utilcode/src/main/AndroidManifest.xml
浏览文件 @
ed567e11
...
...
@@ -14,8 +14,7 @@
android:name=
"com.blankj.utilcode.util.UtilsFileProvider"
android:authorities=
"${applicationId}.utilcode.provider"
android:exported=
"false"
android:grantUriPermissions=
"true"
android:multiprocess=
"true"
>
android:grantUriPermissions=
"true"
>
<meta-data
android:name=
"android.support.FILE_PROVIDER_PATHS"
android:resource=
"@xml/util_code_provider_paths"
/>
...
...
lib/utilcode/src/main/java/com/blankj/utilcode/util/ConvertUtils.java
浏览文件 @
ed567e11
...
...
@@ -38,14 +38,36 @@ import java.util.List;
*/
public
final
class
ConvertUtils
{
private
static
final
int
BUFFER_SIZE
=
8192
;
private
static
final
char
[]
hexDigits
=
private
static
final
int
BUFFER_SIZE
=
8192
;
private
static
final
char
[]
HEX_DIGITS_UPPER
=
{
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
};
private
static
final
char
[]
HEX_DIGITS_LOWER
=
{
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
};
private
ConvertUtils
()
{
throw
new
UnsupportedOperationException
(
"u can't instantiate me..."
);
}
/**
* Int to hex string.
*
* @param num The int number.
* @return the hex string
*/
public
static
String
int2HexString
(
int
num
)
{
return
Integer
.
toHexString
(
num
);
}
/**
* Hex string to int.
*
* @param hexString The hex string.
* @return the int
*/
public
static
int
hexString2Int
(
String
hexString
)
{
return
Integer
.
parseInt
(
hexString
,
16
);
}
/**
* Bytes to bits.
*
...
...
@@ -130,7 +152,20 @@ public final class ConvertUtils {
* @return hex string
*/
public
static
String
bytes2HexString
(
final
byte
[]
bytes
)
{
return
bytes2HexString
(
bytes
,
true
);
}
/**
* Bytes to hex string.
* <p>e.g. bytes2HexString(new byte[] { 0, (byte) 0xa8 }, true) returns "00A8"</p>
*
* @param bytes The bytes.
* @param isUpperCase True to use upper case, false otherwise.
* @return hex string
*/
public
static
String
bytes2HexString
(
final
byte
[]
bytes
,
boolean
isUpperCase
)
{
if
(
bytes
==
null
)
return
""
;
char
[]
hexDigits
=
isUpperCase
?
HEX_DIGITS_UPPER
:
HEX_DIGITS_LOWER
;
int
len
=
bytes
.
length
;
if
(
len
<=
0
)
return
""
;
char
[]
ret
=
new
char
[
len
<<
1
];
...
...
lib/utilcode/src/main/java/com/blankj/utilcode/util/FileUtils.java
浏览文件 @
ed567e11
...
...
@@ -649,7 +649,7 @@ public final class FileUtils {
* @return the files in directory
*/
public
static
List
<
File
>
listFilesInDir
(
final
String
dirPath
,
Comparator
<
File
>
comparator
)
{
return
listFilesInDir
(
getFileByPath
(
dirPath
),
false
);
return
listFilesInDir
(
getFileByPath
(
dirPath
),
false
,
comparator
);
}
/**
...
...
lib/utilcode/src/main/java/com/blankj/utilcode/util/ImageUtils.java
浏览文件 @
ed567e11
...
...
@@ -183,14 +183,21 @@ public final class ImageUtils {
boolean
willNotCacheDrawing
=
view
.
willNotCacheDrawing
();
view
.
setDrawingCacheEnabled
(
true
);
view
.
setWillNotCacheDrawing
(
false
);
final
Bitmap
drawingCache
=
view
.
getDrawingCache
();
Bitmap
drawingCache
=
view
.
getDrawingCache
();
Bitmap
bitmap
;
if
(
null
==
drawingCache
)
{
view
.
measure
(
View
.
MeasureSpec
.
makeMeasureSpec
(
0
,
View
.
MeasureSpec
.
UNSPECIFIED
),
View
.
MeasureSpec
.
makeMeasureSpec
(
0
,
View
.
MeasureSpec
.
UNSPECIFIED
));
view
.
layout
(
0
,
0
,
view
.
getMeasuredWidth
(),
view
.
getMeasuredHeight
());
view
.
buildDrawingCache
();
bitmap
=
Bitmap
.
createBitmap
(
view
.
getDrawingCache
());
drawingCache
=
view
.
getDrawingCache
();
if
(
drawingCache
!=
null
)
{
bitmap
=
Bitmap
.
createBitmap
(
drawingCache
);
}
else
{
bitmap
=
Bitmap
.
createBitmap
(
view
.
getMeasuredWidth
(),
view
.
getMeasuredHeight
(),
Bitmap
.
Config
.
ARGB_8888
);
Canvas
canvas
=
new
Canvas
(
bitmap
);
view
.
draw
(
canvas
);
}
}
else
{
bitmap
=
Bitmap
.
createBitmap
(
drawingCache
);
}
...
...
@@ -279,8 +286,12 @@ public final class ImageUtils {
*/
public
static
Bitmap
getBitmap
(
final
InputStream
is
,
final
int
maxWidth
,
final
int
maxHeight
)
{
if
(
is
==
null
)
return
null
;
byte
[]
bytes
=
UtilsBridge
.
inputStream2Bytes
(
is
);
return
getBitmap
(
bytes
,
0
,
maxWidth
,
maxHeight
);
BitmapFactory
.
Options
options
=
new
BitmapFactory
.
Options
();
options
.
inJustDecodeBounds
=
true
;
BitmapFactory
.
decodeStream
(
is
,
null
,
options
);
options
.
inSampleSize
=
calculateInSampleSize
(
options
,
maxWidth
,
maxHeight
);
options
.
inJustDecodeBounds
=
false
;
return
BitmapFactory
.
decodeStream
(
is
,
null
,
options
);
}
/**
...
...
lib/utilcode/src/main/java/com/blankj/utilcode/util/MessengerUtils.java
浏览文件 @
ed567e11
...
...
@@ -197,7 +197,8 @@ public class MessengerUtils {
}
void
unbind
()
{
Message
msg
=
Message
.
obtain
(
mReceiveServeMsgHandler
,
WHAT_UNSUBSCRIBE
);
int
key
=
UtilsBridge
.
getCurrentProcessName
().
hashCode
();
Message
msg
=
Message
.
obtain
(
mReceiveServeMsgHandler
,
WHAT_UNSUBSCRIBE
,
key
,
0
);
msg
.
replyTo
=
mClient
;
try
{
mServer
.
send
(
msg
);
...
...
lib/utilcode/src/main/java/com/blankj/utilcode/util/PermissionUtils.java
浏览文件 @
ed567e11
...
...
@@ -428,10 +428,10 @@ public final class PermissionUtils {
int
requestCode
,
String
[]
permissions
,
int
[]
grantResults
)
{
activity
.
finish
();
if
(
sInstance
!=
null
&&
sInstance
.
mPermissionsRequest
!=
null
)
{
sInstance
.
onRequestPermissionsResult
(
activity
);
}
activity
.
finish
();
}
...
...
@@ -443,6 +443,7 @@ public final class PermissionUtils {
@Override
public
void
onActivityResult
(
UtilsTransActivity
activity
,
int
requestCode
,
int
resultCode
,
Intent
data
)
{
activity
.
finish
();
if
(
requestCode
==
TYPE_WRITE_SETTINGS
)
{
if
(
sSimpleCallback4WriteSettings
==
null
)
return
;
if
(
isGrantedWriteSettings
())
{
...
...
@@ -465,7 +466,6 @@ public final class PermissionUtils {
}
},
100
);
}
activity
.
finish
();
}
}
...
...
lib/utilcode/src/main/java/com/blankj/utilcode/util/UiMessageUtils.java
浏览文件 @
ed567e11
...
...
@@ -271,10 +271,8 @@ public final class UiMessageUtils implements Handler.Callback {
b
.
append
(
"{ id="
);
b
.
append
(
getId
());
if
(
getObject
()
!=
null
)
{
b
.
append
(
" obj="
);
b
.
append
(
getObject
());
}
b
.
append
(
", obj="
);
b
.
append
(
getObject
());
b
.
append
(
" }"
);
return
b
.
toString
();
...
...
lib/utilcode/src/main/res/xml/util_code_provider_paths.xml
浏览文件 @
ed567e11
<?xml version="1.0" encoding="utf-8"?>
<paths>
<root-path
name=
"root"
name=
"root
_path
"
path=
""
/>
<files-path
...
...
@@ -23,4 +23,8 @@
<external-cache-path
name=
"external_cache_path"
path=
"."
/>
<external-media-path
name=
"external_media_path"
path=
"."
/>
</paths>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录