Skip to content

Commit

Permalink
see 07/11 log
Browse files Browse the repository at this point in the history
  • Loading branch information
Blankj committed Jul 11, 2018
1 parent 3dfa55e commit abc7a5d
Show file tree
Hide file tree
Showing 12 changed files with 369 additions and 16 deletions.
2 changes: 1 addition & 1 deletion README-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@

[logo]: https://raw.githubusercontent.com/Blankj/AndroidUtilCode/master/art/logo.png

[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.17.2-brightgreen.svg
[aucsvg]: https://img.shields.io/badge/AndroidUtilCode-v1.17.3-brightgreen.svg
[auc]: https://github.com/Blankj/AndroidUtilCode

[apisvg]: https://img.shields.io/badge/API-14+-brightgreen.svg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import android.widget.TextView;

import com.blankj.androidutilcode.R;
import com.blankj.androidutilcode.base.BaseBackActivity;
import com.blankj.androidutilcode.base.BaseActivity;
import com.blankj.androidutilcode.helper.DialogHelper;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.SpanUtils;
Expand All @@ -23,7 +23,7 @@
* desc : demo about KeyboardUtils
* </pre>
*/
public class KeyboardActivity extends BaseBackActivity {
public class KeyboardActivity extends BaseActivity{

public static void start(Context context) {
Intent starter = new Intent(context, KeyboardActivity.class);
Expand All @@ -41,13 +41,13 @@ public void initData(@Nullable Bundle bundle) {

@Override
public int bindLayout() {
return R.layout.activity_keyboard;
return R.layout.activity_keyboard1;
}

@Override
public void initView(Bundle savedInstanceState, View contentView) {
KeyboardUtils.fixAndroidBug5497(this);
getToolBar().setTitle(getString(R.string.demo_keyboard));
// getToolBar().setTitle(getString(R.string.demo_keyboard));
etInput = findViewById(R.id.et_input);
findViewById(R.id.btn_hide_soft_input).setOnClickListener(this);
findViewById(R.id.btn_show_soft_input).setOnClickListener(this);
Expand Down
50 changes: 50 additions & 0 deletions app/src/main/res_core/layout/activity_keyboard1.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?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="match_parent"
android:background="@color/white"
android:gravity="center_horizontal"
android:orientation="vertical">

<TextView
android:id="@+id/tv_about_keyboard"
style="@style/TextStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

<Button
android:id="@+id/btn_hide_soft_input"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/keyboard_hide_soft_input" />

<Button
android:id="@+id/btn_show_soft_input"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/keyboard_show_soft_input" />

<Button
android:id="@+id/btn_toggle_soft_input"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/keyboard_toggle_soft_input" />

<Button
android:id="@+id/btn_keyboard_in_fragment"
style="@style/WideBtnStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/keyboard_show_dialog" />

<EditText
android:id="@+id/et_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:inputType="text" />

</LinearLayout>
202 changes: 202 additions & 0 deletions subutil/src/main/java/com/blankj/subutil/util/RomUtils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
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;
}
}
}
1 change: 1 addition & 0 deletions update_log.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
* 18/06/29 修复 IntentUtils 分享图片判断逻辑,CacheDiskUtils 可放入 byte[0],发布 1.17.3
* 18/06/29 修复 FragmentUtils 中 getFragmentManager 空指针错误,发布 1.17.2
* 18/06/27 新增 UriUtils#uri2File
* 18/06/25 新增 KeyboardUtils#fixAndroidBug5497,发布 1.17.1 版本
Expand Down
2 changes: 1 addition & 1 deletion utilcode/README-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Gradle:
```groovy
implementation 'com.blankj:utilcode:1.17.2'
implementation 'com.blankj:utilcode:1.17.3'
```


Expand Down
2 changes: 1 addition & 1 deletion utilcode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Gradle:
```groovy
implementation 'com.blankj:utilcode:1.17.2'
implementation 'com.blankj:utilcode:1.17.3'
```


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ public void put(@NonNull final String key, final byte[] value) {
* @param saveTime The save time of cache, in seconds.
*/
public void put(@NonNull final String key, byte[] value, final int saveTime) {
if (value == null || value.length <= 0) return;
if (value == null) return;
if (saveTime >= 0) value = DiskCacheHelper.newByteArrayWithTime(saveTime, value);
File file = mDiskCacheManager.getFileBeforePut(key);
DiskCacheHelper.writeFileFromBytes(file, value);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@

import com.blankj.utilcode.constant.CacheConstants;

import java.lang.reflect.Array;

/**
* <pre>
* author: Blankj
Expand Down Expand Up @@ -79,7 +77,6 @@ public void put(@NonNull final String key, final Object value) {
*/
public void put(@NonNull final String key, final Object value, int saveTime) {
if (value == null) return;
if (value.getClass().isArray() && Array.getLength(value) <= 0) return;
long dueTime = saveTime < 0 ? -1 : System.currentTimeMillis() + saveTime * 1000;
mMemoryCache.put(key, new CacheValue(dueTime, value));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ public void put(@NonNull final String key, final byte[] value) {
* @param saveTime The save time of cache, in seconds.
*/
public void put(@NonNull final String key, byte[] value, final int saveTime) {
if (value == null || value.length <= 0) return;
if (value == null) return;
if (saveTime >= 0) value = DiskCacheHelper.newByteArrayWithTime(saveTime, value);
File file = mDiskCacheManager.getFileBeforePut(key);
DiskCacheHelper.writeFileFromBytes(file, value);
Expand Down
Loading

0 comments on commit abc7a5d

Please sign in to comment.