Merge pull request #5104 from mahdihijazi/master

Fix saving/loading screenshots for Android
This commit is contained in:
Markus Wick
2017-03-19 01:29:29 +01:00
committed by GitHub
6 changed files with 309 additions and 222 deletions
@@ -3,6 +3,7 @@ package org.dolphinemu.dolphinemu.fragments;
import android.app.Fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.SparseIntArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -18,6 +19,16 @@ public final class LoadStateFragment extends Fragment implements View.OnClickLis
public static final String FRAGMENT_TAG = BuildConfig.APPLICATION_ID + ".load_state";
public static final int FRAGMENT_ID = R.layout.fragment_state_load;
private static SparseIntArray buttonsActionsMap = new SparseIntArray();
static {
buttonsActionsMap.append(R.id.menu_emulation_load_1, EmulationActivity.MENU_ACTION_LOAD_SLOT1);
buttonsActionsMap.append(R.id.menu_emulation_load_2, EmulationActivity.MENU_ACTION_LOAD_SLOT2);
buttonsActionsMap.append(R.id.menu_emulation_load_3, EmulationActivity.MENU_ACTION_LOAD_SLOT3);
buttonsActionsMap.append(R.id.menu_emulation_load_4, EmulationActivity.MENU_ACTION_LOAD_SLOT4);
buttonsActionsMap.append(R.id.menu_emulation_load_5, EmulationActivity.MENU_ACTION_LOAD_SLOT5);
buttonsActionsMap.append(R.id.menu_emulation_load_6, EmulationActivity.MENU_ACTION_LOAD_SLOT6);
}
public static LoadStateFragment newInstance()
{
LoadStateFragment fragment = new LoadStateFragment();
@@ -47,9 +58,10 @@ public final class LoadStateFragment extends Fragment implements View.OnClickLis
return rootView;
}
@SuppressWarnings("WrongConstant")
@Override
public void onClick(View button)
{
((EmulationActivity) getActivity()).onMenuItemClicked(button.getId());
((EmulationActivity) getActivity()).handleMenuAction(buttonsActionsMap.get(button.getId()));
}
}
@@ -3,6 +3,7 @@ package org.dolphinemu.dolphinemu.fragments;
import android.app.Fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.SparseIntArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -19,6 +20,16 @@ public final class MenuFragment extends Fragment implements View.OnClickListener
public static final String FRAGMENT_TAG = BuildConfig.APPLICATION_ID + ".ingame_menu";
public static final int FRAGMENT_ID = R.layout.fragment_ingame_menu;
private TextView mTitleText;
private static SparseIntArray buttonsActionsMap = new SparseIntArray();
static {
buttonsActionsMap.append(R.id.menu_take_screenshot, EmulationActivity.MENU_ACTION_TAKE_SCREENSHOT);
buttonsActionsMap.append(R.id.menu_quicksave, EmulationActivity.MENU_ACTION_QUICK_SAVE);
buttonsActionsMap.append(R.id.menu_quickload, EmulationActivity.MENU_ACTION_QUICK_LOAD);
buttonsActionsMap.append(R.id.menu_emulation_save_root, EmulationActivity.MENU_ACTION_SAVE_ROOT);
buttonsActionsMap.append(R.id.menu_emulation_load_root, EmulationActivity.MENU_ACTION_LOAD_ROOT);
buttonsActionsMap.append(R.id.menu_refresh_wiimotes, EmulationActivity.MENU_ACTION_REFRESH_WIIMOTES);
buttonsActionsMap.append(R.id.menu_exit, EmulationActivity.MENU_ACTION_EXIT);
}
@Nullable
@Override
@@ -39,10 +50,11 @@ public final class MenuFragment extends Fragment implements View.OnClickListener
return rootView;
}
@SuppressWarnings("WrongConstant")
@Override
public void onClick(View button)
{
((EmulationActivity) getActivity()).onMenuItemClicked(button.getId());
((EmulationActivity) getActivity()).handleMenuAction(buttonsActionsMap.get(button.getId()));
}
public void setTitleText(String title)
@@ -3,6 +3,7 @@ package org.dolphinemu.dolphinemu.fragments;
import android.app.Fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.SparseIntArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -18,6 +19,16 @@ public final class SaveStateFragment extends Fragment implements View.OnClickLis
public static final String FRAGMENT_TAG = BuildConfig.APPLICATION_ID + ".save_state";
public static final int FRAGMENT_ID = R.layout.fragment_state_save;
private static SparseIntArray buttonsActionsMap = new SparseIntArray();
static {
buttonsActionsMap.append(R.id.menu_emulation_save_1, EmulationActivity.MENU_ACTION_SAVE_SLOT1);
buttonsActionsMap.append(R.id.menu_emulation_save_2, EmulationActivity.MENU_ACTION_SAVE_SLOT2);
buttonsActionsMap.append(R.id.menu_emulation_save_3, EmulationActivity.MENU_ACTION_SAVE_SLOT3);
buttonsActionsMap.append(R.id.menu_emulation_save_4, EmulationActivity.MENU_ACTION_SAVE_SLOT4);
buttonsActionsMap.append(R.id.menu_emulation_save_5, EmulationActivity.MENU_ACTION_SAVE_SLOT5);
buttonsActionsMap.append(R.id.menu_emulation_save_6, EmulationActivity.MENU_ACTION_SAVE_SLOT6);
}
public static SaveStateFragment newInstance()
{
SaveStateFragment fragment = new SaveStateFragment();
@@ -47,9 +58,10 @@ public final class SaveStateFragment extends Fragment implements View.OnClickLis
return rootView;
}
@SuppressWarnings("WrongConstant")
@Override
public void onClick(View button)
{
((EmulationActivity) getActivity()).onMenuItemClicked(button.getId());
((EmulationActivity) getActivity()).handleMenuAction(buttonsActionsMap.get(button.getId()));
}
}
@@ -95,7 +95,7 @@ public final class Game
{
ContentValues values = new ContentValues();
String screenPath = PATH_SCREENSHOT_FOLDER + gameId + "/thumb.png";
String screenPath = PATH_SCREENSHOT_FOLDER + gameId + "/" + gameId + "-1.png";
values.put(GameDatabase.KEY_GAME_PLATFORM, platform);
values.put(GameDatabase.KEY_GAME_TITLE, title);
@@ -52,11 +52,6 @@
android:text="@string/emulation_loadstate"
style="@style/InGameMenuOption"/>
<Button
android:id="@+id/menu_ingame_settings"
android:text="@string/preferences_settings"
style="@style/InGameMenuOption"/>
<Button
android:id="@+id/menu_refresh_wiimotes"
android:text="@string/emulation_refresh_wiimotes"