Exemplo n.º 1
0
  public static int getFitable(DisplayMetrics metric) {
    getDeviceInfo();

    int result = 5;
    String sdkVer = getBuildProp(RO_BUILD_VERSION_SDK);
    int sdk = Integer.parseInt(sdkVer);
    if (sdk >= 8 && sdk != 11 && sdk != 12 && sdk != 13) {
      result++;
    } else {
      result--;
    }

    String factory = getBuildProp(RO_PRODUCT_MANUFACTURER);
    if (factory != null) {
      if (factory.toLowerCase().contains("htc") && factory.toLowerCase().contains("archos")) {
        result += 2;
      } else {
        result--;
      }

      if (factory.toLowerCase().contains("xiaomi")) {
        result -= 1;
      }
    }

    String module = getBuildProp(RO_PRODUCT_MODEL);
    if (module != null) {
      if (module.toLowerCase().contains("lenovo")) {
        result -= 2;
      }

      if (module.toLowerCase().contains("ideatab")) {
        result -= 2;
      }

      if (module.toLowerCase().contains("zte")) {
        result -= 1;
      }
    }

    String buildId = getBuildProp(RO_BUILD_ID);
    if (buildId.toLowerCase().contains("miui")) {
      result += 1;
    }

    String cpu = getBuildProp(RO_PRODUCT_CPU_ABI);
    if (cpu.toLowerCase().contains("armeabi")) {
      result++;
    } else {
      result--;
    }

    if (metric.widthPixels >= 480 && metric.heightPixels >= 800) {
      result++;
    } else {
      result--;
    }

    if (result < 1) {
      result = 1;
    }
    if (result > 9) {
      result = 9;
    }
    return result;
  }