Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xiaoxuan_i809
AndroidUtilCode
提交
1c4d5097
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 搜索 >>
提交
1c4d5097
编写于
1月 29, 2019
作者:
B
Blankj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
see 01/31 log
上级
8232b19a
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
86 addition
and
204 deletion
+86
-204
subutil/lib/src/main/java/com/blankj/subutil/util/RomUtils.java
...l/lib/src/main/java/com/blankj/subutil/util/RomUtils.java
+0
-202
utilcode/lib/src/main/java/com/blankj/utilcode/util/LogUtils.java
.../lib/src/main/java/com/blankj/utilcode/util/LogUtils.java
+0
-1
utilcode/lib/src/main/java/com/blankj/utilcode/util/RomUtils.java
.../lib/src/main/java/com/blankj/utilcode/util/RomUtils.java
+1
-1
utilcode/pkg/src/main/AndroidManifest.xml
utilcode/pkg/src/main/AndroidManifest.xml
+3
-0
utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/CoreUtilActivity.kt
.../java/com/blankj/utilcode/pkg/feature/CoreUtilActivity.kt
+5
-0
utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/rom/RomActivity.kt
...n/java/com/blankj/utilcode/pkg/feature/rom/RomActivity.kt
+53
-0
utilcode/pkg/src/main/res/layout/activity_rom.xml
utilcode/pkg/src/main/res/layout/activity_rom.xml
+16
-0
utilcode/pkg/src/main/res/layout/activity_util_core.xml
utilcode/pkg/src/main/res/layout/activity_util_core.xml
+7
-0
utilcode/pkg/src/main/res/values/strings.xml
utilcode/pkg/src/main/res/values/strings.xml
+1
-0
未找到文件。
subutil/lib/src/main/java/com/blankj/subutil/util/RomUtils.java
已删除
100644 → 0
浏览文件 @
8232b19a
package
com.blankj.subutil.util
;
import
android.annotation.SuppressLint
;
import
android.os.Build
;
import
android.os.Environment
;
import
android.text.TextUtils
;
import
java.io.BufferedReader
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.lang.reflect.Method
;
import
java.util.Properties
;
/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 2018/07/04
* desc : utils about rom
* </pre>
*/
public
final
class
RomUtils
{
public
static
final
String
SYS_EMUI
=
"emui"
;
public
static
final
String
SYS_MIUI
=
"miui"
;
public
static
final
String
SYS_FLYME
=
"flyme"
;
public
static
final
String
SYS_COLOROS
=
"colorOs"
;
public
static
final
String
SYS_FUNTOUCH
=
"Funtouch"
;
public
static
final
String
SYS_SAMSUNG
=
"samsung"
;
///////////////////////////////////////////////////////////////////////////
// MIUI
///////////////////////////////////////////////////////////////////////////
private
static
final
String
KEY_MIUI_VERSION_CODE
=
"ro.miui.ui.version.code"
;
private
static
final
String
KEY_MIUI_VERSION_NAME
=
"ro.miui.ui.version.name"
;
private
static
final
String
KEY_MIUI_INTERNAL_STORAGE
=
"ro.miui.internal.storage"
;
private
static
final
String
KEY_MIUI_VERSION_INCREMENTAL
=
"ro.build.version.incremental"
;
///////////////////////////////////////////////////////////////////////////
// EMUI
///////////////////////////////////////////////////////////////////////////
private
static
final
String
KEY_EMUI_API_LEVEL
=
"ro.build.hw_emui_api_level"
;
private
static
final
String
KEY_EMUI_VERSION
=
"ro.build.version.emui"
;
private
static
final
String
KEY_EMUI_CONFIG_HW_SYS_VERSION
=
"ro.confg.hw_systemversion"
;
///////////////////////////////////////////////////////////////////////////
// OPPO
///////////////////////////////////////////////////////////////////////////
private
static
final
String
KEY_OPPO_NAME
=
"ro.rom.different.version"
;
private
static
final
String
KEY_OPPO_VERSION
=
"ro.build.version.opporom"
;
///////////////////////////////////////////////////////////////////////////
// VIVO
///////////////////////////////////////////////////////////////////////////
private
static
final
String
KEY_VIVO_NAME
=
"ro.vivo.os.name"
;
private
static
final
String
KEY_VIVO_VERSION
=
"ro.vivo.os.version"
;
private
static
RomBean
bean
=
null
;
/**
* Return the name of rom.
*
* @return the name of rom
*/
public
static
RomBean
getRom
()
{
if
(
bean
!=
null
)
return
bean
;
bean
=
new
RomBean
();
// 小米
if
(!
TextUtils
.
isEmpty
(
getSystemProperty
(
KEY_MIUI_VERSION_CODE
))
||
!
TextUtils
.
isEmpty
(
getSystemProperty
(
KEY_MIUI_VERSION_NAME
))
||
!
TextUtils
.
isEmpty
(
getSystemProperty
(
KEY_MIUI_INTERNAL_STORAGE
)))
{
bean
.
setRomName
(
SYS_MIUI
);
bean
.
setRomVersion
(
getSystemProperty
(
KEY_MIUI_VERSION_INCREMENTAL
));
}
// 华为
else
if
(!
TextUtils
.
isEmpty
(
getSystemProperty
(
KEY_EMUI_API_LEVEL
))
||
!
TextUtils
.
isEmpty
(
getSystemProperty
(
KEY_EMUI_VERSION
))
||
!
TextUtils
.
isEmpty
(
getSystemProperty
(
KEY_EMUI_CONFIG_HW_SYS_VERSION
)))
{
bean
.
setRomName
(
SYS_EMUI
);
String
version
=
getSystemProperty
(
KEY_EMUI_VERSION
);
// EmotionUI_2.0
String
[]
temp
=
version
.
split
(
"_"
);
if
(
temp
.
length
>
1
)
{
bean
.
setRomVersion
(
temp
[
1
]);
}
else
{
bean
.
setRomVersion
(
version
);
}
}
// 魅族
else
if
(
Build
.
DISPLAY
.
toLowerCase
().
contains
(
"flyme"
))
{
bean
.
setRomName
(
SYS_FLYME
);
bean
.
setRomVersion
(
Build
.
DISPLAY
);
return
bean
;
}
// OPPO
else
if
(!
TextUtils
.
isEmpty
(
getSystemProperty
(
KEY_OPPO_NAME
))
&&
getSystemProperty
(
KEY_OPPO_NAME
).
toLowerCase
().
contains
(
"coloros"
))
{
bean
.
setRomName
(
SYS_COLOROS
);
bean
.
setRomVersion
(
getSystemProperty
(
KEY_OPPO_VERSION
));
}
// VIVO
else
if
(!
TextUtils
.
isEmpty
(
getSystemProperty
(
KEY_VIVO_NAME
)))
{
bean
.
setRomName
(
SYS_FUNTOUCH
);
bean
.
setRomVersion
(
getSystemProperty
(
KEY_VIVO_VERSION
));
}
// 其他手机
else
{
String
brand
=
Build
.
BRAND
;
bean
.
setRomName
(
Build
.
BRAND
);
if
(
SYS_SAMSUNG
.
equalsIgnoreCase
(
brand
))
{
bean
.
setRomVersion
(
getSystemProperty
(
"ro.build.changelist"
));
}
}
return
bean
;
}
private
static
String
getSystemProperty
(
final
String
name
)
{
String
prop
=
getSystemPropertyByShell
(
name
);
if
(!
TextUtils
.
isEmpty
(
prop
))
return
prop
;
prop
=
getSystemPropertyByStream
(
name
);
if
(!
TextUtils
.
isEmpty
(
prop
))
return
prop
;
if
(
Build
.
VERSION
.
SDK_INT
<
28
)
{
return
getSystemPropertyByReflect
(
name
);
}
return
prop
;
}
private
static
String
getSystemPropertyByShell
(
final
String
propName
)
{
String
line
;
BufferedReader
input
=
null
;
try
{
Process
p
=
Runtime
.
getRuntime
().
exec
(
"getprop "
+
propName
);
input
=
new
BufferedReader
(
new
InputStreamReader
(
p
.
getInputStream
()),
1024
);
return
input
.
readLine
();
}
catch
(
IOException
e
)
{
return
""
;
}
finally
{
if
(
input
!=
null
)
{
try
{
input
.
close
();
}
catch
(
IOException
ignore
)
{
}
}
}
}
private
static
String
getSystemPropertyByStream
(
final
String
key
)
{
try
{
Properties
prop
=
new
Properties
();
FileInputStream
is
=
new
FileInputStream
(
new
File
(
Environment
.
getRootDirectory
(),
"build.prop"
)
);
prop
.
load
(
is
);
return
prop
.
getProperty
(
key
,
""
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
""
;
}
}
private
static
String
getSystemPropertyByReflect
(
String
key
)
{
try
{
@SuppressLint
(
"PrivateApi"
)
Class
<?>
clz
=
Class
.
forName
(
"android.os.SystemProperties"
);
Method
get
=
clz
.
getMethod
(
"get"
,
String
.
class
,
String
.
class
);
return
(
String
)
get
.
invoke
(
clz
,
key
,
""
);
}
catch
(
Exception
e
)
{
return
""
;
}
}
public
static
class
RomBean
{
private
String
romName
;
private
String
romVersion
;
public
String
getRomName
()
{
if
(
romName
==
null
)
return
""
;
return
romName
;
}
private
void
setRomName
(
String
romName
)
{
this
.
romName
=
romName
;
}
public
String
getRomVersion
()
{
if
(
romVersion
==
null
)
return
""
;
return
romVersion
;
}
private
void
setRomVersion
(
String
romVersion
)
{
this
.
romVersion
=
romVersion
;
}
@Override
public
String
toString
()
{
return
"romName: "
+
romName
+
"\nromVersion: "
+
romVersion
;
}
}
}
utilcode/lib/src/main/java/com/blankj/utilcode/util/LogUtils.java
浏览文件 @
1c4d5097
...
...
@@ -110,7 +110,6 @@ public final class LogUtils {
private
static
final
SimpleArrayMap
<
Class
,
IFormatter
>
I_FORMATTER_MAP
=
new
SimpleArrayMap
<>();
private
LogUtils
()
{
throw
new
UnsupportedOperationException
(
"u can't instantiate me..."
);
}
...
...
utilcode/lib/src/main/java/com/blankj/utilcode/util/RomUtils.java
浏览文件 @
1c4d5097
...
...
@@ -441,4 +441,4 @@ public final class RomUtils {
"\nversion: "
+
version
+
"}"
;
}
}
}
}
\ No newline at end of file
utilcode/pkg/src/main/AndroidManifest.xml
浏览文件 @
1c4d5097
...
...
@@ -149,6 +149,9 @@
<activity
android:name=
".feature.resource.ResourceActivity"
android:launchMode=
"singleTop"
/>
<activity
android:name=
".feature.rom.RomActivity"
android:launchMode=
"singleTop"
/>
<activity
android:name=
".feature.sdcard.SDCardActivity"
android:launchMode=
"singleTop"
/>
...
...
utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/CoreUtilActivity.kt
浏览文件 @
1c4d5097
...
...
@@ -26,6 +26,7 @@ import com.blankj.utilcode.pkg.feature.phone.PhoneActivity
import
com.blankj.utilcode.pkg.feature.process.ProcessActivity
import
com.blankj.utilcode.pkg.feature.reflect.ReflectActivity
import
com.blankj.utilcode.pkg.feature.resource.ResourceActivity
import
com.blankj.utilcode.pkg.feature.rom.RomActivity
import
com.blankj.utilcode.pkg.feature.sdcard.SDCardActivity
import
com.blankj.utilcode.pkg.feature.snackbar.SnackbarActivity
import
com.blankj.utilcode.pkg.feature.spStatic.SPStaticActivity
...
...
@@ -156,6 +157,10 @@ class CoreUtilActivity : BaseBackActivity() {
ResourceActivity
.
start
(
this
)
}
fun
romClick
(
view
:
View
)
{
RomActivity
.
start
(
this
)
}
fun
sdcardClick
(
view
:
View
)
{
SDCardActivity
.
start
(
this
)
}
...
...
utilcode/pkg/src/main/java/com/blankj/utilcode/pkg/feature/rom/RomActivity.kt
0 → 100644
浏览文件 @
1c4d5097
package
com.blankj.utilcode.pkg.feature.rom
import
android.content.Context
import
android.content.Intent
import
android.os.Bundle
import
android.view.View
import
com.blankj.lib.base.BaseBackActivity
import
com.blankj.utilcode.pkg.R
import
com.blankj.utilcode.util.RomUtils
import
com.blankj.utilcode.util.SpanUtils
import
kotlinx.android.synthetic.main.activity_rom.*
/**
* ```
* author: Blankj
* blog : http://blankj.com
* time : 2019/01/29
* desc : demo about RomUtils
* ```
*/
class
RomActivity
:
BaseBackActivity
()
{
companion
object
{
fun
start
(
context
:
Context
)
{
val
starter
=
Intent
(
context
,
RomActivity
::
class
.
java
)
context
.
startActivity
(
starter
)
}
}
override
fun
initData
(
bundle
:
Bundle
?)
{
}
override
fun
bindLayout
():
Int
{
return
R
.
layout
.
activity_rom
}
override
fun
initView
(
savedInstanceState
:
Bundle
?,
contentView
:
View
)
{
setTitle
(
R
.
string
.
demo_rom
)
SpanUtils
.
with
(
romAboutTv
)
.
append
(
"getRomInfo: "
+
RomUtils
.
getRomInfo
())
.
create
()
}
override
fun
doBusiness
()
{
}
override
fun
onWidgetClick
(
view
:
View
)
{
}
}
utilcode/pkg/src/main/res/layout/activity_rom.xml
0 → 100644
浏览文件 @
1c4d5097
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center_horizontal"
android:orientation=
"vertical"
android:padding=
"@dimen/spacing_16"
>
<TextView
android:id=
"@+id/romAboutTv"
style=
"@style/TextStyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
</LinearLayout>
utilcode/pkg/src/main/res/layout/activity_util_core.xml
浏览文件 @
1c4d5097
...
...
@@ -154,6 +154,13 @@
android:onClick=
"resourceClick"
android:text=
"@string/demo_resource"
/>
<Button
style=
"@style/WideBtnStyle"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:onClick=
"romClick"
android:text=
"@string/demo_rom"
/>
<Button
style=
"@style/WideBtnStyle"
android:layout_width=
"match_parent"
...
...
utilcode/pkg/src/main/res/values/strings.xml
浏览文件 @
1c4d5097
...
...
@@ -23,6 +23,7 @@
<string
name=
"demo_reflect"
>
ReflectUtils Demo
</string>
<string
name=
"demo_resource"
>
ResourceUtils Demo
</string>
<string
name=
"demo_screen"
>
ScreenUtils Demo
</string>
<string
name=
"demo_rom"
>
RomUtils Demo
</string>
<string
name=
"demo_sdcard"
>
SDCardUtils Demo
</string>
<string
name=
"demo_snackbar"
>
SnackbarUtils Demo
</string>
<string
name=
"demo_spStatic"
>
SPStaticUtils Demo
</string>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录