android: create SingletonInstance for Picasso and add a place holder icon

This commit is contained in:
SachinVin 2020-04-24 11:21:13 +05:30 committed by bunnei
parent 52f22fb1a9
commit 65f3be9f37
2 changed files with 17 additions and 4 deletions

View File

@ -22,6 +22,7 @@ import org.citra.citra_emu.utils.BillingManager;
import org.citra.citra_emu.utils.DirectoryInitialization;
import org.citra.citra_emu.utils.FileBrowserHelper;
import org.citra.citra_emu.utils.PermissionsHandler;
import org.citra.citra_emu.utils.PicassoUtils;
import org.citra.citra_emu.utils.StartupHandler;
import org.citra.citra_emu.utils.ThemeUtil;
@ -63,6 +64,7 @@ public final class MainActivity extends AppCompatActivity implements MainView {
} else {
mPlatformGamesFragment = (PlatformGamesFragment) getSupportFragmentManager().getFragment(savedInstanceState, "mPlatformGamesFragment");
}
PicassoUtils.init();
// Setup billing manager, so we can globally query for Premium status
mBillingManager = new BillingManager(this);

View File

@ -6,6 +6,7 @@ import android.widget.ImageView;
import com.squareup.picasso.Picasso;
import org.citra.citra_emu.CitraApplication;
import org.citra.citra_emu.R;
import java.io.IOException;
@ -13,15 +14,25 @@ import java.io.IOException;
import androidx.annotation.Nullable;
public class PicassoUtils {
public static void loadGameIcon(ImageView imageView, String gamePath) {
Picasso picassoInstance = new Picasso.Builder(imageView.getContext())
private static boolean mPicassoInitialized = false;
public static void init() {
if (mPicassoInitialized) {
return;
}
Picasso picassoInstance = new Picasso.Builder(CitraApplication.getAppContext())
.addRequestHandler(new GameIconRequestHandler())
.build();
picassoInstance
Picasso.setSingletonInstance(picassoInstance);
mPicassoInitialized = true;
}
public static void loadGameIcon(ImageView imageView, String gamePath) {
Picasso
.get()
.load(Uri.parse("iso:/" + gamePath))
.noFade()
.noPlaceholder()
.placeholder(R.drawable.no_icon)
.fit()
.centerInside()
.config(Bitmap.Config.RGB_565)