diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
index f7608506ed..c4cc9e1f3a 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
@@ -28,6 +28,7 @@ import org.dolphinemu.dolphinemu.NativeLibrary;
import org.dolphinemu.dolphinemu.R;
import org.dolphinemu.dolphinemu.fragments.EmulationFragment;
import org.dolphinemu.dolphinemu.fragments.LoadStateFragment;
+import org.dolphinemu.dolphinemu.fragments.MenuFragment;
import org.dolphinemu.dolphinemu.fragments.SaveStateFragment;
import java.util.List;
@@ -40,7 +41,7 @@ public final class EmulationActivity extends AppCompatActivity
private FrameLayout mFrameEmulation;
private LinearLayout mMenuLayout;
- private String mMenuFragmentTag;
+ private String mSubmenuFragmentTag;
// So that MainActivity knows which view to invalidate before the return animation.
private int mPosition;
@@ -67,6 +68,7 @@ public final class EmulationActivity extends AppCompatActivity
};
private String mScreenPath;
private FrameLayout mFrameContent;
+ private String mSelectedTitle;
@Override
protected void onCreate(Bundle savedInstanceState)
@@ -129,7 +131,7 @@ public final class EmulationActivity extends AppCompatActivity
Intent gameToEmulate = getIntent();
String path = gameToEmulate.getStringExtra("SelectedGame");
- String title = gameToEmulate.getStringExtra("SelectedTitle");
+ mSelectedTitle = gameToEmulate.getStringExtra("SelectedTitle");
mScreenPath = gameToEmulate.getStringExtra("ScreenPath");
mPosition = gameToEmulate.getIntExtra("GridPosition", -1);
@@ -175,8 +177,6 @@ public final class EmulationActivity extends AppCompatActivity
}
});
- setTitle(title);
-
// Instantiate an EmulationFragment.
EmulationFragment emulationFragment = EmulationFragment.newInstance(path);
@@ -184,6 +184,21 @@ public final class EmulationActivity extends AppCompatActivity
getFragmentManager().beginTransaction()
.add(R.id.frame_emulation_fragment, emulationFragment, EmulationFragment.FRAGMENT_TAG)
.commit();
+
+ if (mDeviceHasTouchScreen)
+ {
+ setTitle(mSelectedTitle);
+ }
+ else
+ {
+ MenuFragment menuFragment = (MenuFragment) getFragmentManager()
+ .findFragmentById(R.id.fragment_menu);
+
+ if (menuFragment != null)
+ {
+ menuFragment.setTitleText(mSelectedTitle);
+ }
+ }
}
@Override
@@ -240,7 +255,7 @@ public final class EmulationActivity extends AppCompatActivity
{
if (!mDeviceHasTouchScreen)
{
- if (mMenuFragmentTag != null)
+ if (mSubmenuFragmentTag != null)
{
removeMenu();
}
@@ -579,12 +594,12 @@ public final class EmulationActivity extends AppCompatActivity
{
case SaveStateFragment.FRAGMENT_ID:
fragment = SaveStateFragment.newInstance();
- mMenuFragmentTag = SaveStateFragment.FRAGMENT_TAG;
+ mSubmenuFragmentTag = SaveStateFragment.FRAGMENT_TAG;
break;
case LoadStateFragment.FRAGMENT_ID:
fragment = LoadStateFragment.newInstance();
- mMenuFragmentTag = LoadStateFragment.FRAGMENT_TAG;
+ mSubmenuFragmentTag = LoadStateFragment.FRAGMENT_TAG;
break;
default:
@@ -593,15 +608,15 @@ public final class EmulationActivity extends AppCompatActivity
getFragmentManager().beginTransaction()
.setCustomAnimations(R.animator.menu_slide_in, R.animator.menu_slide_out)
- .replace(R.id.frame_submenu, fragment, mMenuFragmentTag)
+ .replace(R.id.frame_submenu, fragment, mSubmenuFragmentTag)
.commit();
}
private void removeMenu()
{
- if (mMenuFragmentTag != null)
+ if (mSubmenuFragmentTag != null)
{
- final Fragment fragment = getFragmentManager().findFragmentByTag(mMenuFragmentTag);
+ final Fragment fragment = getFragmentManager().findFragmentByTag(mSubmenuFragmentTag);
if (fragment != null)
{
@@ -632,11 +647,16 @@ public final class EmulationActivity extends AppCompatActivity
Log.e("DolphinEmu", "[EmulationActivity] Fragment not found, can't remove.");
}
- mMenuFragmentTag = null;
+ mSubmenuFragmentTag = null;
}
else
{
Log.e("DolphinEmu", "[EmulationActivity] Fragment Tag empty.");
}
}
+
+ public String getSelectedTitle()
+ {
+ return mSelectedTitle;
+ }
}
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java
index 5c847ee1b1..d894f32373 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/fragments/MenuFragment.java
@@ -8,6 +8,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
+import android.widget.TextView;
import org.dolphinemu.dolphinemu.BuildConfig;
import org.dolphinemu.dolphinemu.R;
@@ -17,20 +18,24 @@ 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;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
- LinearLayout rootView = (LinearLayout) inflater.inflate(FRAGMENT_ID, container, false);
+ View rootView = inflater.inflate(FRAGMENT_ID, container, false);
- for (int childIndex = 0; childIndex < rootView.getChildCount(); childIndex++)
+ LinearLayout options = (LinearLayout) rootView.findViewById(R.id.layout_options);
+ for (int childIndex = 0; childIndex < options.getChildCount(); childIndex++)
{
- Button button = (Button) rootView.getChildAt(childIndex);
+ Button button = (Button) options.getChildAt(childIndex);
button.setOnClickListener(this);
}
+ mTitleText = (TextView) rootView.findViewById(R.id.text_game_title);
+
return rootView;
}
@@ -39,4 +44,9 @@ public final class MenuFragment extends Fragment implements View.OnClickListener
{
((EmulationActivity) getActivity()).onMenuItemClicked(button.getId());
}
+
+ public void setTitleText(String title)
+ {
+ mTitleText.setText(title);
+ }
}
diff --git a/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml b/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml
index df31f0b69f..44093dc324 100644
--- a/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml
+++ b/Source/Android/app/src/main/res/layout/fragment_ingame_menu.xml
@@ -1,46 +1,69 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Source/Android/app/src/main/res/values/styles.xml b/Source/Android/app/src/main/res/values/styles.xml
index 0fd7455966..76ee1f8f55 100644
--- a/Source/Android/app/src/main/res/values/styles.xml
+++ b/Source/Android/app/src/main/res/values/styles.xml
@@ -127,7 +127,7 @@