import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; import android.provider.MediaStore; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import com.goparties.gpuser.util.CropImageView; import java.io.IOException; import butterknife.Bind; public class CropImageActivity extends GpBaseActivity { @Bind(R.id.cropImageView) CropImageView cropImageView; private Bitmap bitmap; @Override public boolean hasParent() { return true; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_crop_image); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); try { bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), getIntent().getData()); } catch (IOException e) { e.printStackTrace(); } cropImageView.setImageBitmap(bitmap); if (getIntent().getBooleanExtra("isCircular", false)) { cropImageView.setCropMode(CropImageView.CropMode.CIRCLE); } else cropImageView.setCropMode(CropImageView.CropMode.RATIO_FREE); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_image_crop, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.crop_done) { if (cropImageView.saveBitmapInToFolder()) { Intent intent = new Intent(); intent.setData(cropImageView.getImageUri()); setResult(RESULT_OK, intent); finish(); } return true; } return super.onOptionsItemSelected(item); } }