Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature del #1178

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Original file line number Diff line number Diff line change
Expand Up @@ -77,24 +77,55 @@ public void onCreate(Bundle savedInstanceState) {
}

public void cropButtonClicked() {
mCurrentImageEdited = false;
String root = Environment.getExternalStorageDirectory().toString();
File folder = new File(root + pdfDirectory);
Uri uri = mCropImageView.getImageUri();

if (uri == null) {
StringUtils.getInstance().showSnackbar(this, R.string.error_uri_not_found);
return;
// 假设存在一个函数检查是否有PDF文件创建
boolean isPdfCreated = checkIfPdfCreated();
private boolean checkIfPdfCreated() {
AppDatabase db = AppDatabase.getDatabase(mContext.getApplicationContext());
// 你需要创建一个查询方法来检查是否存在PDF记录
// 假设历史记录中包含一个字段标识操作类型
// 这里假设operationType为"PDF_CREATED",具体取决于你的实现
String operationTypeToCheck = "PDF_CREATED";

// 查询是否有任何记录的操作类型为"PDF_CREATED"
return db.historyDao().existsOperationType(operationTypeToCheck);
}

String path = uri.getPath();
String filename = "cropped_im";
if (path != null)
filename = "cropped_" + FileUtils.getFileName(path);

File file = new File(folder, filename);

mCropImageView.saveCroppedImageAsync(Uri.fromFile(file));
Button deleteButton = findViewById(R.id.btn_delete);

if (isPdfCreated) {
deleteButton.setEnabled(true); // 启用删除按钮
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 删除PDF的代码逻辑
mCurrentImageEdited = false;
String root = Environment.getExternalStorageDirectory().toString();
File folder = new File(root + pdfDirectory);
Uri uri = mCropImageView.getImageUri();

if (uri == null) {
StringUtils.getInstance().showSnackbar(this, R.string.error_uri_not_found);
return;
}

String path = uri.getPath();
String filename = "cropped_im";
if (path != null)
filename = "cropped_" + FileUtils.getFileName(path);

File file = new File(folder, filename);

mCropImageView.saveCroppedImageAsync(Uri.fromFile(file));
}
});
} else {
deleteButton.setEnabled(false); // 禁用删除按钮
}


}

public void rotateButtonClicked() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,36 @@ public boolean onCreateOptionsMenu(Menu menu) {
return true;
}

if (isPdfCreated) {
deleteButton.setEnabled(true); // 启用删除按钮
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 删除PDF的代码逻辑
mCurrentImageEdited = false;
String root = Environment.getExternalStorageDirectory().toString();
File folder = new File(root + pdfDirectory);
Uri uri = mCropImageView.getImageUri();

if (uri == null) {
StringUtils.getInstance().showSnackbar(this, R.string.error_uri_not_found);
return;
}

String path = uri.getPath();
String filename = "cropped_im";
if (path != null)
filename = "cropped_" + FileUtils.getFileName(path);

File file = new File(folder, filename);

mCropImageView.saveCroppedImageAsync(Uri.fromFile(file));
}
});
} else {
deleteButton.setEnabled(false); // 禁用删除按钮
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
Expand Down
18 changes: 18 additions & 0 deletions app/src/main/java/swati4star/createpdf/activity/ImageEditor.java
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,24 @@ void nextImg() {
void previousImg() {
//move to previous if Save Current has been clicked
if (mClicked) {
mCurrentImageEdited = false;
String root = Environment.getExternalStorageDirectory().toString();
File folder = new File(root + pdfDirectory);
Uri uri = mCropImageView.getImageUri();

if (uri == null) {
StringUtils.getInstance().showSnackbar(this, R.string.error_uri_not_found);
return;
}

String path = uri.getPath();
String filename = "cropped_im";
if (path != null)
filename = "cropped_" + FileUtils.getFileName(path);

File file = new File(folder, filename);

mCropImageView.saveCroppedImageAsync(Uri.fromFile(file));
changeAndShowImageCount((mCurrentImage - 1 % mDisplaySize));
} else
StringUtils.getInstance().showSnackbar(this, R.string.save_first);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,65 @@ private void requestStoragePermission_API30AndAbove(boolean giveExplanation) {
public void onPositiveButtonClick() {
// On Allow button clicked
// On Re-try button clicked
openOSSettingsForPermissionRequest_API30AndAbove();
// 假设存在一个函数检查是否有PDF文件创建
boolean isPdfCreated = checkIfPdfCreated();
private boolean checkIfPdfCreated() {
AppDatabase db = AppDatabase.getDatabase(mContext.getApplicationContext());
// 你需要创建一个查询方法来检查是否存在PDF记录
// 假设历史记录中包含一个字段标识操作类型
// 这里假设operationType为"PDF_CREATED",具体取决于你的实现
String operationTypeToCheck = "PDF_CREATED";

// 查询是否有任何记录的操作类型为"PDF_CREATED"
return db.historyDao().existsOperationType(operationTypeToCheck);
}

if (isPdfCreated) {
deleteButton.setEnabled(true); // 启用删除按钮
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 删除PDF的代码逻辑
mCurrentImageEdited = false;
String root = Environment.getExternalStorageDirectory().toString();
File folder = new File(root + pdfDirectory);
Uri uri = mCropImageView.getImageUri();

if (uri == null) {
StringUtils.getInstance().showSnackbar(this, R.string.error_uri_not_found);
return;
}

String path = uri.getPath();
String filename = "cropped_im";
if (path != null)
filename = "cropped_" + FileUtils.getFileName(path);

File file = new File(folder, filename);

mCropImageView.saveCroppedImageAsync(Uri.fromFile(file));
}
});
} else {
deleteButton.setEnabled(false); // 禁用删除按钮
}

Button deleteButton = findViewById(R.id.btn_delete);

if (isPdfCreated) {
deleteButton.setEnabled(true); // 启用删除按钮
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 删除PDF的代码逻辑
// openOSSettingsForPermissionRequest_API30AndAbove();
}
});
} else {
deleteButton.setEnabled(false); // 禁用删除按钮
}


}

@RequiresApi(api = Build.VERSION_CODES.R)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,62 @@ public class PreviewActivity extends AppCompatActivity implements PreviewImageOp
private PreviewAdapter mPreviewAdapter;
private ViewPager mViewPager;

private boolean checkIfPdfCreated() {
AppDatabase db = AppDatabase.getDatabase(mContext.getApplicationContext());
// 你需要创建一个查询方法来检查是否存在PDF记录
// 假设历史记录中包含一个字段标识操作类型
// 这里假设operationType为"PDF_CREATED",具体取决于你的实现
String operationTypeToCheck = "PDF_CREATED";

// 查询是否有任何记录的操作类型为"PDF_CREATED"
return db.historyDao().existsOperationType(operationTypeToCheck);
}
if (isPdfCreated) {
deleteButton.setEnabled(true); // 启用删除按钮
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 删除PDF的代码逻辑
mCurrentImageEdited = false;
String root = Environment.getExternalStorageDirectory().toString();
File folder = new File(root + pdfDirectory);
Uri uri = mCropImageView.getImageUri();

if (uri == null) {
StringUtils.getInstance().showSnackbar(this, R.string.error_uri_not_found);
return;
}

String path = uri.getPath();
String filename = "cropped_im";
if (path != null)
filename = "cropped_" + FileUtils.getFileName(path);

File file = new File(folder, filename);

mCropImageView.saveCroppedImageAsync(Uri.fromFile(file));
}
});
} else {
deleteButton.setEnabled(false); // 禁用删除按钮
}

public static Intent getStartIntent(Context context, ArrayList<String> uris) {
changeAndShowImageCount((mCurrentImage - 1 % mDisplaySize));
Intent intent = new Intent(context, PreviewActivity.class);
intent.putExtra(PREVIEW_IMAGES, uris);
return intent;
if (isPdfCreated) {
deleteButton.setEnabled(true); // 启用删除按钮
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 删除PDF的代码逻辑
}
});
} else {
deleteButton.setEnabled(false); // 禁用删除按钮
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,25 +87,48 @@ public void onDownClick(int position) {

@Override
public void onRemoveClick(int position) {
if (mSharedPreferences.getBoolean(Constants.CHOICE_REMOVE_IMAGE, false)) {
mImages.remove(position);
mRearrangeImagesAdapter.positionChanged(mImages);
} else {
MaterialDialog.Builder builder = DialogUtils.getInstance().createWarningDialog(this,
R.string.remove_image_message);
builder.checkBoxPrompt(getString(R.string.dont_show_again), false, null)
.onPositive((dialog, which) -> {
if (dialog.isPromptCheckBoxChecked()) {
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.putBoolean(CHOICE_REMOVE_IMAGE, true);
editor.apply();
}
private boolean checkIfPdfCreated() {
AppDatabase db = AppDatabase.getDatabase(mContext.getApplicationContext());
// 你需要创建一个查询方法来检查是否存在PDF记录
// 假设历史记录中包含一个字段标识操作类型
// 这里假设operationType为"PDF_CREATED",具体取决于你的实现
String operationTypeToCheck = "PDF_CREATED";

// 查询是否有任何记录的操作类型为"PDF_CREATED"
return db.historyDao().existsOperationType(operationTypeToCheck);
}


if (isPdfCreated) {
deleteButton.setEnabled(true); // 启用删除按钮
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mSharedPreferences.getBoolean(Constants.CHOICE_REMOVE_IMAGE, false)) {
mImages.remove(position);
mRearrangeImagesAdapter.positionChanged(mImages);

})
.show();
} else {
MaterialDialog.Builder builder = DialogUtils.getInstance().createWarningDialog(this,
R.string.remove_image_message);
builder.checkBoxPrompt(getString(R.string.dont_show_again), false, null)
.onPositive((dialog, which) -> {
if (dialog.isPromptCheckBoxChecked()) {
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.putBoolean(CHOICE_REMOVE_IMAGE, true);
editor.apply();
}
mImages.remove(position);
mRearrangeImagesAdapter.positionChanged(mImages);

})
.show();
}
}
});
} else {
deleteButton.setEnabled(false); // 禁用删除按钮
}

}

private void passUris() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,26 @@

public class RearrangePdfPages extends AppCompatActivity implements RearrangePdfAdapter.OnClickListener {


if (mSharedPreferences.getBoolean(Constants.CHOICE_REMOVE_IMAGE, false)) {
mImages.remove(position);
mRearrangeImagesAdapter.positionChanged(mImages);
} else {
MaterialDialog.Builder builder = DialogUtils.getInstance().createWarningDialog(this,
R.string.remove_image_message);
builder.checkBoxPrompt(getString(R.string.dont_show_again), false, null)
.onPositive((dialog, which) -> {
if (dialog.isPromptCheckBoxChecked()) {
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.putBoolean(CHOICE_REMOVE_IMAGE, true);
editor.apply();
}
mImages.remove(position);
mRearrangeImagesAdapter.positionChanged(mImages);

})
.show();
}
public static ArrayList<Bitmap> mImages;
@BindView(R.id.recyclerView)
RecyclerView mRecyclerView;
Expand Down Expand Up @@ -68,7 +88,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
finish();
} else
initRecyclerView(mImages);
}
isPdfCreated }

private void initRecyclerView(ArrayList<Bitmap> images) {
LinearLayoutManager layoutManager = new LinearLayoutManager(this,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ public Object instantiateItem(@NonNull ViewGroup container, int position) {
View view = layoutInflater.inflate(mLayouts[position], container, false);
if (position == 9) {
Button btnGetStarted = view.findViewById(R.id.getStarted);
btnGetStarted.setOnClickListener(v -> openMainActivity());
btnGetStarted.setOnisPdfCreatedListener(v -> openMainActivity());
}
container.addView(view);
return view;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,24 @@ public class BrushItemViewHolder extends RecyclerView.ViewHolder implements View
super(itemView);
ButterKnife.bind(this, itemView);
itemView.setOnClickListener(this);

// 假设存在一个函数检查是否有PDF文件创建
boolean isPdfCreated = checkIfPdfCreated();

Button deleteButton = findViewById(R.id.btn_delete);

if (isPdfCreated) {
deleteButton.setEnabled(true); // 启用删除按钮
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 删除PDF的代码逻辑
}
});
} else {
deleteButton.setEnabled(false); // 禁用删除按钮
}

}

@Override
Expand Down
Loading