private Bitmap extentSnapshot(int doc, int gs, int spaceAround, boolean transparent) { final LogHelper log = new LogHelper(); final Rect extent = getDisplayExtent(); if (!extent.isEmpty()) { extent.inset(-spaceAround, -spaceAround); extent.intersect(0, 0, mView.getView().getWidth(), mView.getView().getHeight()); } if (extent.isEmpty()) { return null; } final Bitmap viewBitmap = mView.snapshot(doc, gs, transparent); if (viewBitmap == null) { return null; } if (extent.width() == mView.getView().getWidth() && extent.height() == mView.getView().getHeight()) { log.r(viewBitmap.getByteCount()); return viewBitmap; } final Bitmap realBitmap = Bitmap.createBitmap(viewBitmap, extent.left, extent.top, extent.width(), extent.height()); viewBitmap.recycle(); log.r(realBitmap.getByteCount()); return realBitmap; }
@Override public void close() { if (mView != null) { mView.onPause(); mView.stop(); if (mView.getView() != null) { final ViewGroup parent = (ViewGroup) mView.getView().getParent(); if (parent != null) parent.removeAllViews(); } mView = null; } }
@Override public void onDestroy() { final Context context = getContext(); for (BaseGraphView view : ViewUtil.views()) { if (view.getView().getContext() == context) { view.stop(); } } }
@Override public boolean onResume() { Log.d(TAG, "onResume"); final Context context = getContext(); boolean ret = false; for (BaseGraphView view : ViewUtil.views()) { if (view.getView().getContext() == context) { ret = view.onResume() || ret; } } return ret; }
@Override public Context getContext() { return mView != null ? mView.getView().getContext() : null; }
@Override public View getView() { return mView != null ? mView.getView() : null; }