改为Java7语法

This commit is contained in:
2026-04-24 15:05:45 +08:00
parent fbed86327f
commit d78bd9f477
7 changed files with 75 additions and 29 deletions

View File

@@ -21,6 +21,11 @@ android {
versionName "1.0" versionName "1.0"
} }
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
signingConfigs { signingConfigs {
release { release {
if (keystoreProperties != null) { if (keystoreProperties != null) {

View File

@@ -18,6 +18,8 @@ import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList; import java.util.ArrayList;
import cc.winboll.gallery.ImageAdapter.OnImageClickListener;
public class AlbumActivity extends AppCompatActivity { public class AlbumActivity extends AppCompatActivity {
private static final int PERMISSION_REQUEST_CODE = 101; private static final int PERMISSION_REQUEST_CODE = 101;
public static final String EXTRA_ALBUM_PATH = "album_path"; public static final String EXTRA_ALBUM_PATH = "album_path";
@@ -45,11 +47,14 @@ public class AlbumActivity extends AppCompatActivity {
adapter = new ImageAdapter(); adapter = new ImageAdapter();
recyclerView.setAdapter(adapter); recyclerView.setAdapter(adapter);
adapter.setOnImageClickListener((position, urls) -> { adapter.setOnImageClickListener(new OnImageClickListener() {
Intent intent = new Intent(this, ImageViewerActivity.class); @Override
intent.putParcelableArrayListExtra(ImageViewerActivity.EXTRA_IMAGE_URLS, urls); public void onImageClick(int position, ArrayList<Uri> urls) {
intent.putExtra(ImageViewerActivity.EXTRA_POSITION, position); Intent intent = new Intent(AlbumActivity.this, ImageViewerActivity.class);
startActivity(intent); intent.putParcelableArrayListExtra(ImageViewerActivity.EXTRA_IMAGE_URLS, urls);
intent.putExtra(ImageViewerActivity.EXTRA_POSITION, position);
startActivity(intent);
}
}); });
if (checkPermission()) { if (checkPermission()) {

View File

@@ -2,6 +2,7 @@ package cc.winboll.gallery;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
@@ -36,8 +37,8 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
} }
@Override @Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) { public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
Album album = albums.get(position); final Album album = albums.get(position);
Glide.with(holder.coverImage.getContext()) Glide.with(holder.coverImage.getContext())
.load(album.getCoverUri()) .load(album.getCoverUri())
.centerCrop() .centerCrop()
@@ -45,9 +46,12 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
holder.albumName.setText(album.getName()); holder.albumName.setText(album.getName());
holder.imageCount.setText(album.getImageCount() + " photos"); holder.imageCount.setText(album.getImageCount() + " photos");
holder.itemView.setOnClickListener(v -> { holder.itemView.setOnClickListener(new OnClickListener() {
if (listener != null) { @Override
listener.onAlbumClick(album); public void onClick(View v) {
if (listener != null) {
listener.onAlbumClick(album);
}
} }
}); });
} }

View File

@@ -1,9 +1,9 @@
package cc.winboll.gallery; package cc.winboll.gallery;
import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@@ -37,15 +37,19 @@ public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder>
} }
@Override @Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) { public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
Glide.with(holder.imageView.getContext()) Glide.with(holder.imageView.getContext())
.load(imageUrls.get(position)) .load(imageUrls.get(position))
.centerCrop() .centerCrop()
.into(holder.imageView); .into(holder.imageView);
holder.imageView.setOnClickListener(v -> { final ArrayList<Uri> urls = imageUrls;
if (listener != null) { holder.imageView.setOnClickListener(new OnClickListener() {
listener.onImageClick(position, imageUrls); @Override
public void onClick(View v) {
if (listener != null) {
listener.onImageClick(position, urls);
}
} }
}); });
} }

View File

@@ -4,6 +4,7 @@ import android.app.Activity;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.ImageButton; import android.widget.ImageButton;
import androidx.viewpager.widget.ViewPager; import androidx.viewpager.widget.ViewPager;
@@ -38,9 +39,19 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha
viewPager.setCurrentItem(currentPosition); viewPager.setCurrentItem(currentPosition);
viewPager.addOnPageChangeListener(this); viewPager.addOnPageChangeListener(this);
btnBack.setOnClickListener(v -> finish()); btnBack.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
viewPager.setOnClickListener(v -> toggleToolbar()); viewPager.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
toggleToolbar();
}
});
} }
private void toggleToolbar() { private void toggleToolbar() {

View File

@@ -20,8 +20,11 @@ import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import java.io.File; import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList; import java.util.ArrayList;
import cc.winboll.gallery.AlbumAdapter.OnAlbumClickListener;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity {
private static final int PERMISSION_REQUEST_CODE = 100; private static final int PERMISSION_REQUEST_CODE = 100;
private RecyclerView recyclerView; private RecyclerView recyclerView;
@@ -43,11 +46,14 @@ public class MainActivity extends AppCompatActivity {
adapter = new AlbumAdapter(); adapter = new AlbumAdapter();
recyclerView.setAdapter(adapter); recyclerView.setAdapter(adapter);
adapter.setOnAlbumClickListener(album -> { adapter.setOnAlbumClickListener(new OnAlbumClickListener() {
Intent intent = new Intent(this, AlbumActivity.class); @Override
intent.putExtra(AlbumActivity.EXTRA_ALBUM_PATH, album.getPath()); public void onAlbumClick(Album album) {
intent.putExtra(AlbumActivity.EXTRA_ALBUM_NAME, album.getName()); Intent intent = new Intent(MainActivity.this, AlbumActivity.class);
startActivity(intent); intent.putExtra(AlbumActivity.EXTRA_ALBUM_PATH, album.getPath());
intent.putExtra(AlbumActivity.EXTRA_ALBUM_NAME, album.getName());
startActivity(intent);
}
}); });
if (checkPermission()) { if (checkPermission()) {
@@ -96,7 +102,13 @@ public class MainActivity extends AppCompatActivity {
ArrayList<Album> albums = new ArrayList<>(); ArrayList<Album> albums = new ArrayList<>();
File[] subfolders = baseFolder.listFiles(File::isDirectory); FileFilter directoryFilter = new FileFilter() {
@Override
public boolean accept(File file) {
return file.isDirectory();
}
};
File[] subfolders = baseFolder.listFiles(directoryFilter);
if (subfolders != null) { if (subfolders != null) {
for (File subfolder : subfolders) { for (File subfolder : subfolders) {
ArrayList<Uri> images = getImagesInFolder(subfolder.getAbsolutePath()); ArrayList<Uri> images = getImagesInFolder(subfolder.getAbsolutePath());

View File

@@ -1,6 +1,8 @@
package cc.winboll.gallery; package cc.winboll.gallery;
import android.os.Bundle; import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.TextView; import android.widget.TextView;
@@ -26,13 +28,16 @@ public class SettingsActivity extends AppCompatActivity {
editFolderPath.setText(currentPath); editFolderPath.setText(currentPath);
textCurrentPath.setText("Current: " + currentPath); textCurrentPath.setText("Current: " + currentPath);
btnSave.setOnClickListener(v -> { btnSave.setOnClickListener(new OnClickListener() {
String newPath = editFolderPath.getText().toString().trim(); @Override
if (!newPath.isEmpty()) { public void onClick(View v) {
prefs.setFolderPath(newPath); String newPath = editFolderPath.getText().toString().trim();
textCurrentPath.setText("Current: " + newPath); if (!newPath.isEmpty()) {
prefs.setFolderPath(newPath);
textCurrentPath.setText("Current: " + newPath);
}
finish();
} }
finish();
}); });
} }
} }