From 8ca620db7f9b653d88ae4ec1f096f146bd8e6208 Mon Sep 17 00:00:00 2001 From: sigmabeta Date: Thu, 18 Jun 2015 21:46:47 -0400 Subject: [PATCH] Android: Invalidate Picasso screenshot cache every time a screenshot is displayed. --- .../org/dolphinemu/dolphinemu/activities/MainActivity.java | 7 ------- .../org/dolphinemu/dolphinemu/adapters/GameAdapter.java | 6 +++++- Source/Core/Core/Core.cpp | 6 +++--- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/MainActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/MainActivity.java index 09ec145ebf..7812e6ead5 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/MainActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/MainActivity.java @@ -127,13 +127,6 @@ public final class MainActivity extends AppCompatActivity implements LoaderManag } } - @Override - protected void onResume() - { - super.onResume(); - mAdapter.notifyDataSetChanged(); - } - @Override public boolean onCreateOptionsMenu(Menu menu) { diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java index d296c5e023..a9a7be930e 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/adapters/GameAdapter.java @@ -79,9 +79,13 @@ public final class GameAdapter extends RecyclerView.Adapter impl { if (mCursor.moveToPosition(position)) { + String screenPath = mCursor.getString(GameDatabase.GAME_COLUMN_SCREENSHOT_PATH); + Picasso.with(holder.imageScreenshot.getContext()) + .invalidate(screenPath); + // Fill in the view contents. Picasso.with(holder.imageScreenshot.getContext()) - .load(mCursor.getString(GameDatabase.GAME_COLUMN_SCREENSHOT_PATH)) + .load(screenPath) .fit() .centerCrop() .error(R.drawable.no_banner) diff --git a/Source/Core/Core/Core.cpp b/Source/Core/Core/Core.cpp index ff69f3d591..c5b57d85ad 100644 --- a/Source/Core/Core/Core.cpp +++ b/Source/Core/Core/Core.cpp @@ -678,10 +678,10 @@ void SaveScreenShot(std::string name) SetState(CORE_PAUSE); const std::string& gameId = SConfig::GetInstance().GetUniqueID(); - std::string path = File::GetUserPath(D_SCREENSHOTS_IDX) + gameId + DIR_SEP_CHR; - name = StringFromFormat("%s%s.png", path.c_str(), name.c_str()); - g_video_backend->Video_Screenshot(name); + std::string filePath = File::GetUserPath(D_SCREENSHOTS_IDX) + gameId + DIR_SEP_CHR + name + ".png"; + + g_video_backend->Video_Screenshot(filePath); if (!bPaused) SetState(CORE_RUN);