@Override
  protected void onResume() {
    super.onResume();
    Intent i = getIntent();
    mTestList = i.getIntArrayExtra("tests");

    mToggleIO = i.getBooleanExtra("enable io", false);
    mToggleDVFS = i.getBooleanExtra("enable dvfs", false);
    mToggleLong = i.getBooleanExtra("enable long", false);
    mTogglePause = i.getBooleanExtra("enable pause", false);
    mBitmapWidth = i.getIntExtra("resolution X", 0);
    mBitmapHeight = i.getIntExtra("resolution Y", 0);

    mTestResults = new float[mTestList.length];

    hideBars();

    Point size = new Point();
    getWindowManager().getDefaultDisplay().getSize(size);

    int mScreenWidth = size.x;
    int mScreenHeight = size.y;

    int tw = mBitmapWidth;
    int th = mBitmapHeight;

    if (tw > mScreenWidth || th > mScreenHeight) {
      float s1 = (float) tw / (float) mScreenWidth;
      float s2 = (float) th / (float) mScreenHeight;

      if (s1 > s2) {
        tw /= s1;
        th /= s1;
      } else {
        tw /= s2;
        th /= s2;
      }
    }

    android.util.Log.v("rs", "TV sizes " + tw + ", " + th);

    mDisplayView.mWidth = tw;
    mDisplayView.mHeight = th;
    // mDisplayView.setTransform(new android.graphics.Matrix());

    mProcessor = new Processor(RenderScript.create(this), mDisplayView, true);
    mDisplayView.setSurfaceTextureListener(this);
  }
 @Override
 public void handleMessage(Message msg) {
   mDisplayView.invalidate();
 }