diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4d785e566..14e3eb89e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -103,7 +103,7 @@
-
+
diff --git a/app/src/main/java/com/github/yeriomin/yalpstore/DetailsDependentActivity.java b/app/src/main/java/com/github/yeriomin/yalpstore/DetailsDependentActivity.java
index 4bfea682e..f0c7d9156 100644
--- a/app/src/main/java/com/github/yeriomin/yalpstore/DetailsDependentActivity.java
+++ b/app/src/main/java/com/github/yeriomin/yalpstore/DetailsDependentActivity.java
@@ -6,7 +6,7 @@ import java.util.Map;
abstract public class DetailsDependentActivity extends AppListActivity {
- static protected App app;
+ static public App app;
protected App getApp() {
return DetailsDependentActivity.app;
diff --git a/app/src/main/java/com/github/yeriomin/yalpstore/FullscreenImageActivity.java b/app/src/main/java/com/github/yeriomin/yalpstore/FullscreenImageActivity.java
index 9d0a758b1..9b57a3437 100644
--- a/app/src/main/java/com/github/yeriomin/yalpstore/FullscreenImageActivity.java
+++ b/app/src/main/java/com/github/yeriomin/yalpstore/FullscreenImageActivity.java
@@ -2,18 +2,18 @@ package com.github.yeriomin.yalpstore;
import android.app.Activity;
import android.content.Intent;
-import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
-import android.widget.ImageView;
+import android.widget.Gallery;
public class FullscreenImageActivity extends Activity {
- static public final String INTENT_URL = "INTENT_URL";
+ static public final String INTENT_SCREENSHOT_NUMBER = "INTENT_SCREENSHOT_NUMBER";
@Override
protected void onCreate(Bundle savedInstanceState) {
+ ThemeManager.setTheme(this);
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -30,9 +30,14 @@ public class FullscreenImageActivity extends Activity {
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
- String url = intent.getStringExtra(INTENT_URL);
- BitmapManager manager = new BitmapManager(this);
- Bitmap bitmap = manager.getBitmap(url, true);
- ((ImageView) findViewById(R.id.image)).setImageBitmap(bitmap);
+ Gallery gallery = ((Gallery) findViewById(R.id.gallery));
+ gallery.setAdapter(new FullscreenImageAdapter(
+ this,
+ DetailsDependentActivity.app.getScreenshotUrls(),
+ getWindowManager().getDefaultDisplay().getWidth(),
+ getWindowManager().getDefaultDisplay().getHeight()
+ ));
+ gallery.setSelection(intent.getIntExtra(INTENT_SCREENSHOT_NUMBER, 0));
}
+
}
diff --git a/app/src/main/java/com/github/yeriomin/yalpstore/FullscreenImageAdapter.java b/app/src/main/java/com/github/yeriomin/yalpstore/FullscreenImageAdapter.java
new file mode 100644
index 000000000..1d9fb7c24
--- /dev/null
+++ b/app/src/main/java/com/github/yeriomin/yalpstore/FullscreenImageAdapter.java
@@ -0,0 +1,32 @@
+package com.github.yeriomin.yalpstore;
+
+import android.content.Context;
+import android.widget.Gallery;
+import android.widget.ImageView;
+
+import java.util.List;
+
+class FullscreenImageAdapter extends ImageAdapter {
+
+ private int screenHeight;
+
+ FullscreenImageAdapter(Context context, List screenshotUrls, int screenWidth, int screenHeight) {
+ super(context, screenshotUrls, screenWidth);
+ this.screenHeight = screenHeight;
+ }
+
+ @Override
+ protected ImageDownloadTask getTask() {
+ ImageDownloadTask task = new ImageDownloadTask() {
+
+ @Override
+ protected void onPostExecute(Void aVoid) {
+ super.onPostExecute(aVoid);
+ this.view.setLayoutParams(new Gallery.LayoutParams(screenWidth, screenHeight));
+ this.view.setScaleType(ImageView.ScaleType.FIT_CENTER);
+ }
+ };
+ task.setFullSize(true);
+ return task;
+ }
+}
diff --git a/app/src/main/java/com/github/yeriomin/yalpstore/ImageAdapter.java b/app/src/main/java/com/github/yeriomin/yalpstore/ImageAdapter.java
index d302dd834..66550b2f8 100644
--- a/app/src/main/java/com/github/yeriomin/yalpstore/ImageAdapter.java
+++ b/app/src/main/java/com/github/yeriomin/yalpstore/ImageAdapter.java
@@ -13,9 +13,9 @@ import java.util.List;
class ImageAdapter extends BaseAdapter {
- private Context context;
- private List screenshotUrls;
- private int screenWidth;
+ protected Context context;
+ protected List screenshotUrls;
+ protected int screenWidth;
ImageAdapter(Context context, List screenshotUrls, int screenWidth) {
this.context = context;
@@ -39,6 +39,14 @@ class ImageAdapter extends BaseAdapter {
}
public View getView(int position, View convertView, ViewGroup parent) {
+ ImageDownloadTask task = getTask();
+ ImageView imageView = new ImageView(context);
+ task.setView(imageView);
+ task.execute((String) getItem(position));
+ return imageView;
+ }
+
+ protected ImageDownloadTask getTask() {
ImageDownloadTask task = new ImageDownloadTask() {
@Override
@@ -59,10 +67,7 @@ class ImageAdapter extends BaseAdapter {
}
}
};
- ImageView imageView = new ImageView(context);
task.setFullSize(true);
- task.setView(imageView);
- task.execute((String) getItem(position));
- return imageView;
+ return task;
}
}
diff --git a/app/src/main/java/com/github/yeriomin/yalpstore/ScreenshotManager.java b/app/src/main/java/com/github/yeriomin/yalpstore/ScreenshotManager.java
index 6efb2172f..df8d53d01 100644
--- a/app/src/main/java/com/github/yeriomin/yalpstore/ScreenshotManager.java
+++ b/app/src/main/java/com/github/yeriomin/yalpstore/ScreenshotManager.java
@@ -33,7 +33,7 @@ public class ScreenshotManager extends DetailsManager {
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
Intent intent = new Intent(activity, FullscreenImageActivity.class);
- intent.putExtra(FullscreenImageActivity.INTENT_URL, app.getScreenshotUrls().get(position));
+ intent.putExtra(FullscreenImageActivity.INTENT_SCREENSHOT_NUMBER, position);
activity.startActivity(intent);
}
});
diff --git a/app/src/main/res/layout/fullscreen_image_activity_layout.xml b/app/src/main/res/layout/fullscreen_image_activity_layout.xml
index 3109e14e1..65c0e1cda 100644
--- a/app/src/main/res/layout/fullscreen_image_activity_layout.xml
+++ b/app/src/main/res/layout/fullscreen_image_activity_layout.xml
@@ -5,10 +5,11 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
-
+ android:layout_height="match_parent" />
\ No newline at end of file