package fuzion24.device.vulnerability.util;

import android.os.Build;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

/**
 * Created by fuzion24 on 9/21/15.
 */
public class DeviceInfo {

    private final String kernelVersion;
    private final String buildManufacturer;
    private final String buildBrand;
    private final String buildModel;
    private final String buildRelease;
    private final String buildSDK;
    private final String buildFingerPrint;
    private final String buildCpuABI;
    private final String buildCpuABI2;
    private final String[] supported32BitABIS;
    private final String[] supported64BitABIS;
    private final String[] supportedABIS;



    private final String buildID;


    private DeviceInfo(String kVer,
                       String bManufacturer,
                       String bBrand,
                       String bModel,
                       String bRelease,
                       String bSDK,
                       String bFingerPrint,
                       String bID,
                       String bCPUABI,
                       String bCPUABI2,
                       String[] bCPU32List,
                       String[] bCPU64List,
                       String[] bABIS){
        this.kernelVersion = kVer;
        this.buildManufacturer = bManufacturer;
        this.buildBrand = bBrand;
        this.buildModel = bModel;
        this.buildRelease = bRelease;
        this.buildSDK = bSDK;
        this.buildFingerPrint = bFingerPrint;
        this.buildID = bID;
        this.buildCpuABI  = bCPUABI;
        this.buildCpuABI2 = bCPUABI2;
        this.supported32BitABIS = bCPU32List;
        this.supported64BitABIS = bCPU64List;
        this.supportedABIS = bABIS;
    }

    public static DeviceInfo getDeviceInfo() {

        String kVer               = readKernelVersion();
        String bManufac           = Build.MANUFACTURER;
        String bBrand             = Build.BRAND;
        String bModel             = Build.MODEL;
        String bRelease           = Build.VERSION.RELEASE;
        String bSdk               = Build.VERSION.SDK;
        String bFingerPrint       = Build.FINGERPRINT;
        String bID                = Build.ID;
        String bCPUABI            = Build.CPU_ABI;
        String bCPUABI2           = Build.CPU_ABI2;
        String[] bCPU32List       = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? Build.SUPPORTED_32_BIT_ABIS :  new String[]{};
        String[] bCPU64List       = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? Build.SUPPORTED_64_BIT_ABIS :  new String[]{};
        String[] bABIS            = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? Build.SUPPORTED_ABIS        :  new String[]{};



        return new DeviceInfo(kVer,
                bManufac,
                bBrand,
                bModel,
                bRelease,
                bSdk,
                bFingerPrint,
                bID,
                bCPUABI,
                bCPUABI2,
                bCPU32List,
                bCPU64List,
                bABIS
                );
    }

    public static String readKernelVersion() {
        return System.getProperty("os.version");
    }


    public String getKernelVersion() {
        return kernelVersion;
    }

    public String getBuildManufacturer() {
        return buildManufacturer;
    }

    public String getBuildBrand() {
        return buildBrand;
    }

    public String getBuildModel() {
        return buildModel;
    }

    public String getBuildRelease() {
        return buildRelease;
    }

    public String getBuildSDK() {
        return buildSDK;
    }

    public String getBuildFingerPrint() {
        return buildFingerPrint;
    }

    public String getBuildID() {
        return buildID;
    }
}

@@ -3827,10 +3827,411 @@
 ;%0A    %7D%0A
+%0A    public String getBuildCpuABI() %7B%0A        return buildCpuABI;%0A    %7D%0A%0A    public String getBuildCpuABI2() %7B%0A        return buildCpuABI2;%0A    %7D%0A%0A    public String%5B%5D getSupported32BitABIS() %7B%0A        return supported32BitABIS;%0A    %7D%0A%0A    public String%5B%5D getSupported64BitABIS() %7B%0A        return supported64BitABIS;%0A    %7D%0A%0A    public String%5B%5D getSupportedABIS() %7B%0A        return supportedABIS;%0A    %7D%0A%0A
 %7D%0A

Add java boilerplate