Example usage for android.os Build FINGERPRINT

List of usage examples for android.os Build FINGERPRINT

Introduction

In this page you can find the example usage for android.os Build FINGERPRINT.

Prototype

String FINGERPRINT

To view the source code for android.os Build FINGERPRINT.

Click Source Link

Document

A string that uniquely identifies this build.

Usage

From source file:Main.java

private static boolean isRunningOnGenymotion() {
    return Build.FINGERPRINT.contains("vbox");
}

From source file:Main.java

public static boolean checkIncVersion(String fingerprinter, String product) {
    return (Build.FINGERPRINT.equals(fingerprinter)
            && (Build.DEVICE.equals(product) || Build.PRODUCT.equals(product)));
}

From source file:Main.java

public static boolean isRunningOnEmulator() {
    return "google_sdk".equals(Build.PRODUCT) || Build.FINGERPRINT.startsWith("generic");
}

From source file:Main.java

/**
 * Determines if the app is running in the Android emulator.
 *
 * http://stackoverflow.com/questions/2799097/ ->
 *   how-can-i-detect-when-an-android-application-is-running-in-the-emulator
 *
 * @return True if running in the emulator.
 *///from  w  w  w  .j a  v a2 s . c  om
public static boolean isRunningInEmulator() {
    return Build.PRODUCT.equals("google_sdk") || Build.PRODUCT.equals("sdk") || Build.PRODUCT.equals("full_x86")
            || Build.FINGERPRINT.contains("generic");
}

From source file:Main.java

public static String getFingerprint() {
    return Build.FINGERPRINT;
}

From source file:Main.java

private static boolean isRunningOnStockEmulator() {
    return Build.FINGERPRINT.contains("generic");
}

From source file:Main.java

public static String getSystemInfo() {
    String a = "BOARD" + Build.BOARD;
    a += "BRAND" + Build.BRAND;
    a += "CPU_ABI" + Build.CPU_ABI;
    a += "DEVICE" + Build.DEVICE;
    a += "DISPLAY" + Build.DISPLAY;
    a += "FINGERPRINT" + Build.FINGERPRINT;
    a += "HOST" + Build.HOST;
    a += "ID" + Build.ID;
    a += "MANUFACTURER" + Build.MANUFACTURER;
    a += "MODEL" + Build.MODEL;
    a += "PRODUCT" + Build.PRODUCT;
    a += "TAGS" + Build.TAGS;
    a += "TYPE" + Build.TYPE;
    a += "USER" + Build.USER;
    return a;/*from w  ww . ja v  a  2  s  . co  m*/

}

From source file:Main.java

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static Bitmap fastblur(Context context, Bitmap sentBitmap, float radius) {

    if (Build.VERSION.SDK_INT > 16 && (!Build.MODEL.contains("google_sdk") && !Build.MODEL.contains("Emulator")
            && !Build.MODEL.contains("Android SDK") && !Build.FINGERPRINT.contains("vbox86p"))) {
        Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true);

        final RenderScript rs = RenderScript.create(context);
        final Allocation input = Allocation.createFromBitmap(rs, sentBitmap,
                Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT);
        final Allocation output = Allocation.createTyped(rs, input.getType());
        final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
        script.setRadius(radius /* e.g. 3.f */);
        script.setInput(input);//from  w  ww  . jav a 2s .c o m
        script.forEach(output);
        output.copyTo(bitmap);
        return bitmap;
    }

    radius *= 0.1;
    return blurfast(sentBitmap, (int) radius);

    // Stack Blur v1.0 from
    // http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html
    //
    // Java Author: Mario Klingemann <mario at quasimondo.com>
    // http://incubator.quasimondo.com
    // created Feburary 29, 2004
    // Android port : Yahel Bouaziz <yahel at kayenko.com>
    // http://www.kayenko.com
    // ported april 5th, 2012

    // This is a compromise between Gaussian Blur and Box blur
    // It creates much better looking blurs than Box Blur, but is
    // 7x faster than my Gaussian Blur implementation.
    //
    // I called it Stack Blur because this describes best how this
    // filter works internally: it creates a kind of moving stack
    // of colors whilst scanning through the image. Thereby it
    // just has to add one new block of color to the right side
    // of the stack and remove the leftmost color. The remaining
    // colors on the topmost layer of the stack are either added on
    // or reduced by one, depending on if they are on the right or
    // on the left side of the stack.
    //
    // If you are using this algorithm in your code please add
    // the following line:
    //
    // Stack Blur Algorithm by Mario Klingemann <mario@quasimondo.com>

    /*        try {
     Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true);
            
     radius *= 0.8;
     if (radius < 1) {
     return (null);
     }
            
     int w = bitmap.getWidth();
     int h = bitmap.getHeight();
            
     int[] pix = new int[w * h];
     Log.e("pix", w + " " + h + " " + pix.length);
     bitmap.getPixels(pix, 0, w, 0, 0, w, h);
            
     int wm = w - 1;
     int hm = h - 1;
     int wh = w * h;
     int div = (int) (radius + radius + 1);
            
     int r[] = new int[wh];
     int g[] = new int[wh];
     int b[] = new int[wh];
     int rsum, gsum, bsum, x, y, i, p, yp, yi, yw;
     int vmin[] = new int[Math.max(w, h)];
            
     int divsum = (div + 1) >> 1;
     divsum *= divsum;
     int dv[] = new int[256 * divsum];
     for (i = 0; i < 256 * divsum; i++) {
     dv[i] = (i / divsum);
     }
            
     yw = yi = 0;
            
     int[][] stack = new int[div][3];
     int stackpointer;
     int stackstart;
     int[] sir;
     int rbs;
     int r1 = (int) (radius + 1);
     int routsum, goutsum, boutsum;
     int rinsum, ginsum, binsum;
            
     for (y = 0; y < h; y++) {
     rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0;
     for (i = (int) -radius; i <= radius; i++) {
     p = pix[yi + Math.min(wm, Math.max(i, 0))];
     sir = stack[((int) (i + radius))];
     sir[0] = (p & 0xff0000) >> 16;
     sir[1] = (p & 0x00ff00) >> 8;
     sir[2] = (p & 0x0000ff);
     rbs = r1 - Math.abs(i);
     rsum += sir[0] * rbs;
     gsum += sir[1] * rbs;
     bsum += sir[2] * rbs;
     if (i > 0) {
     rinsum += sir[0];
     ginsum += sir[1];
     binsum += sir[2];
     } else {
     routsum += sir[0];
     goutsum += sir[1];
     boutsum += sir[2];
     }
     }
     stackpointer = (int) radius;
            
     for (x = 0; x < w; x++) {
            
     r[yi] = dv[rsum];
     g[yi] = dv[gsum];
     b[yi] = dv[bsum];
            
     rsum -= routsum;
     gsum -= goutsum;
     bsum -= boutsum;
            
     stackstart = (int) (stackpointer - radius + div);
     sir = stack[stackstart % div];
            
     routsum -= sir[0];
     goutsum -= sir[1];
     boutsum -= sir[2];
            
     if (y == 0) {
     vmin[x] = (int) Math.min(x + radius + 1, wm);
     }
     p = pix[yw + vmin[x]];
            
     sir[0] = (p & 0xff0000) >> 16;
     sir[1] = (p & 0x00ff00) >> 8;
     sir[2] = (p & 0x0000ff);
            
     rinsum += sir[0];
     ginsum += sir[1];
     binsum += sir[2];
            
     rsum += rinsum;
     gsum += ginsum;
     bsum += binsum;
            
     stackpointer = (stackpointer + 1) % div;
     sir = stack[(stackpointer) % div];
            
     routsum += sir[0];
     goutsum += sir[1];
     boutsum += sir[2];
            
     rinsum -= sir[0];
     ginsum -= sir[1];
     binsum -= sir[2];
            
     yi++;
     }
     yw += w;
     }
     for (x = 0; x < w; x++) {
     rinsum = ginsum = binsum = routsum = goutsum = boutsum = rsum = gsum = bsum = 0;
     yp = (int) (-radius * w);
     for (i = (int) -radius; i <= radius; i++) {
     yi = Math.max(0, yp) + x;
            
     sir = stack[((int) (i + radius))];
            
     sir[0] = r[yi];
     sir[1] = g[yi];
     sir[2] = b[yi];
            
     rbs = r1 - Math.abs(i);
            
     rsum += r[yi] * rbs;
     gsum += g[yi] * rbs;
     bsum += b[yi] * rbs;
            
     if (i > 0) {
     rinsum += sir[0];
     ginsum += sir[1];
     binsum += sir[2];
     } else {
     routsum += sir[0];
     goutsum += sir[1];
     boutsum += sir[2];
     }
            
     if (i < hm) {
     yp += w;
     }
     }
     yi = x;
     stackpointer = (int) radius;
     for (y = 0; y < h; y++) {
     // Preserve alpha channel: ( 0xff000000 & pix[yi] )
     pix[yi] = (0xff000000 & pix[yi]) | (dv[rsum] << 16) | (dv[gsum] << 8) | dv[bsum];
            
     rsum -= routsum;
     gsum -= goutsum;
     bsum -= boutsum;
            
     stackstart = (int) (stackpointer - radius + div);
     sir = stack[stackstart % div];
            
     routsum -= sir[0];
     goutsum -= sir[1];
     boutsum -= sir[2];
            
     if (x == 0) {
     vmin[y] = Math.min(y + r1, hm) * w;
     }
     p = x + vmin[y];
            
     sir[0] = r[p];
     sir[1] = g[p];
     sir[2] = b[p];
            
     rinsum += sir[0];
     ginsum += sir[1];
     binsum += sir[2];
            
     rsum += rinsum;
     gsum += ginsum;
     bsum += binsum;
            
     stackpointer = (stackpointer + 1) % div;
     sir = stack[stackpointer];
            
     routsum += sir[0];
     goutsum += sir[1];
     boutsum += sir[2];
            
     rinsum -= sir[0];
     ginsum -= sir[1];
     binsum -= sir[2];
            
     yi += w;
     }
     }
            
     bitmap.setPixels(pix, 0, w, 0, 0, w, h);
     return (bitmap);
     } catch (OutOfMemoryError ex) {
     return sentBitmap;
     }*/
}

From source file:Main.java

public static String collectStats(CharSequence flattenedParams) {
    StringBuilder result = new StringBuilder(1000);

    result.append("BOARD=").append(Build.BOARD).append('\n');
    result.append("BRAND=").append(Build.BRAND).append('\n');
    result.append("CPU_ABI=").append(Build.CPU_ABI).append('\n');
    result.append("DEVICE=").append(Build.DEVICE).append('\n');
    result.append("DISPLAY=").append(Build.DISPLAY).append('\n');
    result.append("FINGERPRINT=").append(Build.FINGERPRINT).append('\n');
    result.append("HOST=").append(Build.HOST).append('\n');
    result.append("ID=").append(Build.ID).append('\n');
    result.append("MANUFACTURER=").append(Build.MANUFACTURER).append('\n');
    result.append("MODEL=").append(Build.MODEL).append('\n');
    result.append("PRODUCT=").append(Build.PRODUCT).append('\n');
    result.append("TAGS=").append(Build.TAGS).append('\n');
    result.append("TIME=").append(Build.TIME).append('\n');
    result.append("TYPE=").append(Build.TYPE).append('\n');
    result.append("USER=").append(Build.USER).append('\n');
    result.append("VERSION.CODENAME=").append(Build.VERSION.CODENAME).append('\n');
    result.append("VERSION.INCREMENTAL=").append(Build.VERSION.INCREMENTAL).append('\n');
    result.append("VERSION.RELEASE=").append(Build.VERSION.RELEASE).append('\n');
    result.append("VERSION.SDK_INT=").append(Build.VERSION.SDK_INT).append('\n');

    if (flattenedParams != null) {
        String[] params = SEMICOLON.split(flattenedParams);
        Arrays.sort(params);//from  w ww.j  a va 2 s  . c om
        for (String param : params) {
            result.append(param).append('\n');
        }
    }

    return result.toString();
}

From source file:at.jclehner.appopsxposed.BugReportBuilder.java

public static void buildAndSend(final Context context) {
    if (!SU.available()) {
        Toast.makeText(context, R.string.toast_needs_root, Toast.LENGTH_SHORT).show();
        return;//from ww  w. j ava 2 s  .c  o  m
    }

    Toast.makeText(context, R.string.building_toast, Toast.LENGTH_LONG).show();

    final BugReportBuilder brb = new BugReportBuilder(context);

    new AsyncTask<Void, Void, Uri>() {

        @Override
        protected Uri doInBackground(Void... params) {
            return brb.build();
        }

        @Override
        protected void onPostExecute(Uri result) {
            final ArrayList<Parcelable> uris = new ArrayList<Parcelable>();
            uris.add(result);

            final Intent target = new Intent(Intent.ACTION_SEND_MULTIPLE);
            target.setType("text/plain");
            target.putExtra(Intent.EXTRA_SUBJECT,
                    "[REPORT][AppOpsXposed " + Util.getAoxVersion(context) + "] " + Build.FINGERPRINT);
            target.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
            //target.putExtra(Intent.EXTRA_STREAM, result);
            target.putExtra(Intent.EXTRA_TEXT, "!!! BUG REPORTS WITHOUT ADDITIONAL INFO WILL BE IGNORED !!!");
            //target.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

            final Intent intent = Intent.createChooser(target, null);
            //intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

            context.startActivity(intent);
        }
    }.execute();
}