diff --git a/app/build.gradle b/app/build.gradle index 437e423..f9e3bec 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,6 +21,11 @@ android { versionName "1.0" } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_7 + targetCompatibility JavaVersion.VERSION_1_7 + } + signingConfigs { release { if (keystoreProperties != null) { diff --git a/app/src/main/java/cc/winboll/gallery/AlbumActivity.java b/app/src/main/java/cc/winboll/gallery/AlbumActivity.java index 49c87b6..0bfa1a3 100644 --- a/app/src/main/java/cc/winboll/gallery/AlbumActivity.java +++ b/app/src/main/java/cc/winboll/gallery/AlbumActivity.java @@ -18,6 +18,8 @@ import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; import java.util.ArrayList; +import cc.winboll.gallery.ImageAdapter.OnImageClickListener; + public class AlbumActivity extends AppCompatActivity { private static final int PERMISSION_REQUEST_CODE = 101; public static final String EXTRA_ALBUM_PATH = "album_path"; @@ -45,11 +47,14 @@ public class AlbumActivity extends AppCompatActivity { adapter = new ImageAdapter(); recyclerView.setAdapter(adapter); - adapter.setOnImageClickListener((position, urls) -> { - Intent intent = new Intent(this, ImageViewerActivity.class); - intent.putParcelableArrayListExtra(ImageViewerActivity.EXTRA_IMAGE_URLS, urls); - intent.putExtra(ImageViewerActivity.EXTRA_POSITION, position); - startActivity(intent); + adapter.setOnImageClickListener(new OnImageClickListener() { + @Override + public void onImageClick(int position, ArrayList urls) { + Intent intent = new Intent(AlbumActivity.this, ImageViewerActivity.class); + intent.putParcelableArrayListExtra(ImageViewerActivity.EXTRA_IMAGE_URLS, urls); + intent.putExtra(ImageViewerActivity.EXTRA_POSITION, position); + startActivity(intent); + } }); if (checkPermission()) { diff --git a/app/src/main/java/cc/winboll/gallery/AlbumAdapter.java b/app/src/main/java/cc/winboll/gallery/AlbumAdapter.java index 56c7e74..cdf502e 100644 --- a/app/src/main/java/cc/winboll/gallery/AlbumAdapter.java +++ b/app/src/main/java/cc/winboll/gallery/AlbumAdapter.java @@ -2,6 +2,7 @@ package cc.winboll.gallery; import android.view.LayoutInflater; import android.view.View; +import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; @@ -36,8 +37,8 @@ public class AlbumAdapter extends RecyclerView.Adapter } @Override - public void onBindViewHolder(@NonNull ViewHolder holder, int position) { - Album album = albums.get(position); + public void onBindViewHolder(@NonNull ViewHolder holder, final int position) { + final Album album = albums.get(position); Glide.with(holder.coverImage.getContext()) .load(album.getCoverUri()) .centerCrop() @@ -45,9 +46,12 @@ public class AlbumAdapter extends RecyclerView.Adapter holder.albumName.setText(album.getName()); holder.imageCount.setText(album.getImageCount() + " photos"); - holder.itemView.setOnClickListener(v -> { - if (listener != null) { - listener.onAlbumClick(album); + holder.itemView.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + if (listener != null) { + listener.onAlbumClick(album); + } } }); } diff --git a/app/src/main/java/cc/winboll/gallery/ImageAdapter.java b/app/src/main/java/cc/winboll/gallery/ImageAdapter.java index ff39fa7..7d448af 100644 --- a/app/src/main/java/cc/winboll/gallery/ImageAdapter.java +++ b/app/src/main/java/cc/winboll/gallery/ImageAdapter.java @@ -1,9 +1,9 @@ package cc.winboll.gallery; -import android.content.Intent; import android.net.Uri; import android.view.LayoutInflater; import android.view.View; +import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.ImageView; import androidx.annotation.NonNull; @@ -37,15 +37,19 @@ public class ImageAdapter extends RecyclerView.Adapter } @Override - public void onBindViewHolder(@NonNull ViewHolder holder, int position) { + public void onBindViewHolder(@NonNull ViewHolder holder, final int position) { Glide.with(holder.imageView.getContext()) .load(imageUrls.get(position)) .centerCrop() .into(holder.imageView); - holder.imageView.setOnClickListener(v -> { - if (listener != null) { - listener.onImageClick(position, imageUrls); + final ArrayList urls = imageUrls; + holder.imageView.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + if (listener != null) { + listener.onImageClick(position, urls); + } } }); } diff --git a/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java b/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java index 39fee1f..accf42f 100644 --- a/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java +++ b/app/src/main/java/cc/winboll/gallery/ImageViewerActivity.java @@ -4,6 +4,7 @@ import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.view.View; +import android.view.View.OnClickListener; import android.view.WindowManager; import android.widget.ImageButton; import androidx.viewpager.widget.ViewPager; @@ -38,9 +39,19 @@ public class ImageViewerActivity extends Activity implements ViewPager.OnPageCha viewPager.setCurrentItem(currentPosition); 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() { diff --git a/app/src/main/java/cc/winboll/gallery/MainActivity.java b/app/src/main/java/cc/winboll/gallery/MainActivity.java index bf51ae1..08b880e 100644 --- a/app/src/main/java/cc/winboll/gallery/MainActivity.java +++ b/app/src/main/java/cc/winboll/gallery/MainActivity.java @@ -20,8 +20,11 @@ import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; import java.io.File; +import java.io.FileFilter; import java.util.ArrayList; +import cc.winboll.gallery.AlbumAdapter.OnAlbumClickListener; + public class MainActivity extends AppCompatActivity { private static final int PERMISSION_REQUEST_CODE = 100; private RecyclerView recyclerView; @@ -43,11 +46,14 @@ public class MainActivity extends AppCompatActivity { adapter = new AlbumAdapter(); recyclerView.setAdapter(adapter); - adapter.setOnAlbumClickListener(album -> { - Intent intent = new Intent(this, AlbumActivity.class); - intent.putExtra(AlbumActivity.EXTRA_ALBUM_PATH, album.getPath()); - intent.putExtra(AlbumActivity.EXTRA_ALBUM_NAME, album.getName()); - startActivity(intent); + adapter.setOnAlbumClickListener(new OnAlbumClickListener() { + @Override + public void onAlbumClick(Album album) { + Intent intent = new Intent(MainActivity.this, AlbumActivity.class); + intent.putExtra(AlbumActivity.EXTRA_ALBUM_PATH, album.getPath()); + intent.putExtra(AlbumActivity.EXTRA_ALBUM_NAME, album.getName()); + startActivity(intent); + } }); if (checkPermission()) { @@ -96,7 +102,13 @@ public class MainActivity extends AppCompatActivity { ArrayList 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) { for (File subfolder : subfolders) { ArrayList images = getImagesInFolder(subfolder.getAbsolutePath()); diff --git a/app/src/main/java/cc/winboll/gallery/SettingsActivity.java b/app/src/main/java/cc/winboll/gallery/SettingsActivity.java index bd94ddd..398e24c 100644 --- a/app/src/main/java/cc/winboll/gallery/SettingsActivity.java +++ b/app/src/main/java/cc/winboll/gallery/SettingsActivity.java @@ -1,6 +1,8 @@ package cc.winboll.gallery; import android.os.Bundle; +import android.view.View; +import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; @@ -26,13 +28,16 @@ public class SettingsActivity extends AppCompatActivity { editFolderPath.setText(currentPath); textCurrentPath.setText("Current: " + currentPath); - btnSave.setOnClickListener(v -> { - String newPath = editFolderPath.getText().toString().trim(); - if (!newPath.isEmpty()) { - prefs.setFolderPath(newPath); - textCurrentPath.setText("Current: " + newPath); + btnSave.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + String newPath = editFolderPath.getText().toString().trim(); + if (!newPath.isEmpty()) { + prefs.setFolderPath(newPath); + textCurrentPath.setText("Current: " + newPath); + } + finish(); } - finish(); }); } } \ No newline at end of file