package com.lody.virtual.helper.utils;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.lang.reflect.Method;
import java.util.Properties;
import android.os.Build;
import android.os.Environment;
import android.text.TextUtils;
/**
* Created by 247321453 on 2016/7/17.
*/
public class OSUtils {
private static final String KEY_EMUI_VERSION_CODE = "ro.build.version.emui";
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 OSUtils sOSUtils = new OSUtils();
private boolean emui;
private boolean miui;
private boolean flyme;
private String miuiVersion;
private OSUtils() {
Properties properties;
try {
properties = new Properties();
properties.load(new FileInputStream(new File(Environment.getRootDirectory(), "build.prop")));
} catch (IOException e) {
properties = null;
}
if (properties != null) {
emui = !TextUtils.isEmpty(properties.getProperty(KEY_EMUI_VERSION_CODE));
miuiVersion = properties.getProperty(KEY_MIUI_VERSION_CODE);
miui = !TextUtils.isEmpty(miuiVersion) || !TextUtils.isEmpty(properties.getProperty(KEY_MIUI_VERSION_NAME))
|| !TextUtils.isEmpty(properties.getProperty(KEY_MIUI_INTERNAL_STORAGE));
}
flyme = hasFlyme();
}
public static OSUtils getInstance() {
return sOSUtils;
}
public String getMiuiVersion() {
return miuiVersion;
}
public boolean isEmui() {
return emui;
}
public boolean isMiui() {
return miui;
}
public boolean isFlyme() {
return flyme;
}
private boolean hasFlyme() {
try {
final Method method = Build.class.getMethod("hasSmartBar");
return method != null;
} catch (final Exception e) {
return false;
}
}
}