diff --git a/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java b/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java
index 926ed09..6442e07 100644
--- a/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java
+++ b/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java
@@ -1,6 +1,7 @@
package cc.winboll.gallery;
import android.app.Activity;
+import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
@@ -8,7 +9,6 @@ import android.view.View.OnClickListener;
import android.view.WindowManager;
import android.widget.ImageButton;
import androidx.viewpager.widget.ViewPager;
-import cc.winboll.studio.libappbase.ToastUtils;
import java.util.ArrayList;
public class ImageViewerActivity extends Activity implements ViewPager.OnPageChangeListener {
@@ -20,6 +20,8 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha
private ViewPager viewPager;
private View toolbar;
private ImageButton btnBack;
+ private ImageButton btnDelete;
+ private ImageButton btnShare;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -34,6 +36,8 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha
viewPager = findViewById(R.id.view_pager);
toolbar = findViewById(R.id.toolbar);
btnBack = findViewById(R.id.btn_back);
+ btnDelete = findViewById(R.id.btn_delete);
+ btnShare = findViewById(R.id.btn_share);
ImagePagerAdapter adapter = new ImagePagerAdapter(imageUrls);
viewPager.setAdapter(adapter);
@@ -47,6 +51,20 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha
}
});
+ btnDelete.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ deleteCurrentImage();
+ }
+ });
+
+ btnShare.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ shareCurrentImage();
+ }
+ });
+
viewPager.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
@@ -63,6 +81,34 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha
}
}
+ private void deleteCurrentImage() {
+ if (currentPosition >= 0 && currentPosition < imageUrls.size()) {
+ Uri imageUri = imageUrls.get(currentPosition);
+ getContentResolver().delete(imageUri, null, null);
+ imageUrls.remove(currentPosition);
+ if (imageUrls.isEmpty()) {
+ finish();
+ } else {
+ if (currentPosition >= imageUrls.size()) {
+ currentPosition = imageUrls.size() - 1;
+ }
+ viewPager.setAdapter(new ImagePagerAdapter(imageUrls));
+ viewPager.setCurrentItem(currentPosition);
+ }
+ }
+ }
+
+ private void shareCurrentImage() {
+ if (currentPosition >= 0 && currentPosition < imageUrls.size()) {
+ Uri imageUri = imageUrls.get(currentPosition);
+ Intent shareIntent = new Intent(Intent.ACTION_SEND);
+ shareIntent.setType("image/*");
+ shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
+ shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+ startActivity(Intent.createChooser(shareIntent, "Share Image"));
+ }
+ }
+
@Override
public void onPageSelected(int position) {
currentPosition = position;
@@ -78,4 +124,4 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha
public void onBackPressed() {
finish();
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_delete.xml b/app/src/main/res/drawable/ic_delete.xml
new file mode 100644
index 0000000..aa0f7a0
--- /dev/null
+++ b/app/src/main/res/drawable/ic_delete.xml
@@ -0,0 +1,9 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_share.xml b/app/src/main/res/drawable/ic_share.xml
new file mode 100644
index 0000000..ff756ae
--- /dev/null
+++ b/app/src/main/res/drawable/ic_share.xml
@@ -0,0 +1,9 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_image_viewer.xml b/app/src/main/res/layout/activity_image_viewer.xml
index 8ffd344..7891493 100644
--- a/app/src/main/res/layout/activity_image_viewer.xml
+++ b/app/src/main/res/layout/activity_image_viewer.xml
@@ -17,7 +17,7 @@
android:layout_gravity="top"
android:background="#CC000000"
android:orientation="horizontal"
- android:padding="8dp">
+ android:padding="4dp">
+
+
+
+
+
+
\ No newline at end of file