public void dispose() { try { LocalBroadcastManager.getInstance(mContext).unregisterReceiver(mScreenStateReceiver); mHandler.removeMessages(0); mHandler = null; mScreenStateReceiver = null; } catch (Exception e) { Debug.exception(e); } }
@Override public void commandCompleted(int id, int exitcode) { Bitmap bmp = null; FileOutputStream out = null; try { int size = mSettings.screenshotSize(); bmp = ImageUtil.getResizedImage(path, size); if (bmp != null) { Date dt = new Date(); String date = SimpleDateFormat.getDateTimeInstance( SimpleDateFormat.SHORT, SimpleDateFormat.MEDIUM, sLocale) .format(dt); date = date.replace(':', '-'); // .replace(' ', '_'); String fName = PREFIX + "[" + date + "]" + "[" + dt.getTime() + "]" + ".jpg"; out = new FileOutputStream(FileUtil.getExternalFullPath(mContext, fName)); bmp.compress(Bitmap.CompressFormat.JPEG, 60, out); File del = new File(path); del.delete(); new FileSender(mContext, FileType.SCREENSHOT).start(); } } catch (Exception e) { ACRA.getErrorReporter().handleSilentException(e); } finally { if (bmp != null && !bmp.isRecycled()) { bmp.recycle(); bmp = null; } if (out != null) { try { out.close(); } catch (IOException e) { Debug.exception(e); } out = null; } } }