Commit Graph

126 Commits

Author SHA1 Message Date
Mike Harris
94ed30b055 Use the fragment backstack properly, and use fragment animations.
Make the MenuFragment added and removed by fragment transactions only,
instead of being initially present in the XML. This fixes a glitch where
it doesn't animate correctly the first time it's used.
2017-10-16 20:36:12 -07:00
Mike Harris
c4d7814afa Collapse layouts with a framelayout root then another viewgroup.
There's no point to this, and it just slow things down (technically).
2017-10-15 16:44:56 -07:00
Mike Harris
4cab718065 Move emulation lifecycle handling into EmulationFragment.
The Activity is responsible for just its views and menus and such. It
signals the Fragment via setGamePath, StartEmulation and StopEmulation.

The Fragment manages the actual emulation lifecycle. It is solely
responsible for calling the NativeLibrary lifecycle methods.

With this lifecycle simplification, the NativeLibrary no longer needs to
kill the Activity. It happens normally now.

This simplifies a lot of things, live handling rotation.
2017-10-15 16:44:56 -07:00
Mike Harris
80d51c97ab Add dummy View that works around a bug with the nVidia Shield.
Without this View, the emulation SurfaceView acts like it has the
highest Z-value, blocking any other View. This includes the menu
fragments and the screenshot ImageView.
2017-10-15 16:44:56 -07:00
Mike Harris
e4c2d75198 Combine SaveStateFragment and LoadStateFragment into one.
Other than what action they send back to
EmulationActivity.handleMenuAction(), they are the same.

Change the menu-handling logic in EmulationActivity to keep track of a
boolean for whether the submenu is visible, rather than keeping the
fragment tag. There's only one fragment visible, so this makes more
sense.
2017-10-03 17:51:08 -07:00
Mike Harris
487591c760 Change from using tags in ImageCardView to setting a per-platform background.
This allows us to use a real ImageCardView instead of extending the
class.
2017-09-29 09:38:14 -07:00
JosJuice
85ab968136 Android: Adjust position of floating action button 2017-09-21 15:48:17 +02:00
JosJuice
7fa20cb1be Remove trailing spaces from Android files
Android Studio wants to correct these automatically when editing files.
2017-09-09 11:34:28 +02:00
mahdihijazi
9918d6e333 [Android] Show the version number on the title for the Android TV UI
- Stop reading version number from native code and use the one from BuildConfig
- Show the version number on the title for the Android TV UI
2017-08-21 22:00:56 +02:00
mahdihijazi
a1d713c589 [Android] Cleanup unused resources & code 2017-08-20 15:49:39 +02:00
JosJuice
1fc910b3ea Convert to/from old EFB scale numbering 2017-08-08 12:09:50 +02:00
JosJuice
f090a94319 Remove non-integer IRs 2017-08-08 12:09:50 +02:00
Stenzek
901bf9c257 VideoConfig: Add config options for ubershaders 2017-07-30 17:43:59 +10:00
shuffle2
b9b3b1dc19 Merge pull request #5347 from JosJuice/do-not-translate-button-names
Don't translate button names
2017-06-05 19:05:09 -07:00
Sean Maas
d4728807e0 Android: Add pressed dpad images for other DPIs 2017-05-15 08:32:22 -04:00
Mahdi Hijazi
216a7ceea8 Android: Add pressed state to the on-screen controllers
Now the buttons will be shown in different color to indicate a press event
2017-05-14 18:41:04 +02:00
JosJuice
0146456af0 Don't translate button names
Since these button names are printed on all real controllers,
we should show them in the same way as they are printed on
the controllers, regardless of the user's language. It seems
like this was intended all along (except for "Start"), but the
_ markers in TASInputDlg.cpp (accidentally?) led to the button
names in the controller configs also becoming translatable.

I'm making exceptions for "L" and "R" because translators
may want to mark them in some way (for instance "L-Digital")
to clarify the difference from "L-Analog" and "R-Analog".

I'm also making an exception for START/PAUSE because it's
referred to as スタート in Japanese games.

I'm changing "Home" and "Start" to uppercase for consistency
with how Nintendo refers to those buttons, and because someone
who isn't familiar with the Latin script might not know the
connection between the lowercase and uppercase letters (most
users likely do know the connection, but we shouldn't assume it),
and because leaving "Start" as "Start" makes it "collide" with
unrelated strings, such as the string for the button that starts
a netplay session.

To rename "Start" and "Home" without breaking INI
compatibility, I added a ui_name variable like in f5c82ad.
2017-05-06 16:29:10 +02:00
Tim Mutton
6b704f5059 Update to latest libraries, use correct version name 2017-05-04 17:13:30 +10:00
Mahdi Hijazi
ed30caa3dd [Android] Fix crash on the Android TV
Whenever the EmulationActivity crashes and the app gets back to the
TvMainActivity, dolphin will crash tring to restor the mBrowseFragment
since we don't save the adapter data in the bundle.

This is quick hack to avoid the crash. The proper fix would be to save the
adapter data in the bundle and restore it before restoring the fragment
when the activity gets recreated.

Crash Stacktrace:
Process: org.dolphinemu.dolphinemu.debug, PID: 30353
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.dolphinemu.dolphinemu.debug/org.dolphinemu.dolphinemu.ui.main.TvMainActivity}: java.lang.IllegalArgumentException: Invalid position 1 requested
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2691)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2752)
    at android.app.ActivityThread.-wrap12(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1461)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6120)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
    Caused by: java.lang.IllegalArgumentException: Invalid position 1 requested
    at android.support.v17.leanback.app.BrowseFragment.createMainFragment(BrowseFragment.java:509)
    at android.support.v17.leanback.app.BrowseFragment.replaceMainFragment(BrowseFragment.java:1454)
    at android.support.v17.leanback.app.BrowseFragment.setAdapter(BrowseFragment.java:764)
    at org.dolphinemu.dolphinemu.ui.main.TvMainActivity.buildRowsAdapter(TvMainActivity.java:183)
    at org.dolphinemu.dolphinemu.ui.main.TvMainActivity.onCreate(TvMainActivity.java:59)
    at android.app.Activity.performCreate(Activity.java:6664)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2644)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2752) 
    at android.app.ActivityThread.-wrap12(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1461) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:154) 
    at android.app.ActivityThread.main(ActivityThread.java:6120) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
2017-05-03 23:58:40 +02:00
Mahdi Hijazi
796039e340 [Android] Add the missing Stereoscopic options 2017-05-03 11:56:09 +02:00
MerryMage
ee7e6edf31 Android: Add audio stretch setting 2017-04-18 18:42:02 +01:00
JosJuice
9cd9ae902a x86-64 support on Android
We can do this now that the x86-64 JIT supports PIE.

JITIL is deliberately excluded from the GUI because it
doesn't support PIE yet. (JITIL will be used if it's
set in the INI, though.)
2017-04-16 11:53:33 +02:00
Stenzek
105be9b514 Android: Add option for enabling GPU texture decoding 2017-04-01 12:32:57 +10:00
Mat M
542fb347f1 Merge pull request #5160 from mahdihijazi/enhance_style
android: Change the color of the selected slot to make it more visible
2017-03-31 03:57:32 -04:00
Mahdi Hijazi
8f2f833f9d Update to Android SDK 25
This handles the new permission system in Android M.
2017-03-25 14:55:15 +01:00
Mahdi Hijazi
f1fd336a03 Change the color of the selected slot to make it more visible
On Android TV the selected slot is not cleary hilighted, this is to fix
that but changing the selected slot text color to blue.
2017-03-25 09:55:53 +01:00
Mahdi Hijazi
ecf2eaac99 Remove obselete game menu settings button 2017-03-18 22:08:49 +01:00
Sean Maas
cc29691875 Android: Change Exit Without Saving to Save and Exit 2017-01-10 17:12:42 -05:00
Sean Maas
a90731e2ae Android: Add input binding menus 2016-11-26 18:29:33 -05:00
Sean Maas
d10b336b0a Android: Add InputBindingSetting class
Also update MotionAlertDialog to work with the new setting, and remove the
old InputBindingPreference.
2016-11-26 18:29:25 -05:00
Pringo
4bd5674b85 Change "Wiimote" to "Wii Remote" in Interface
The usage of "Wii Remote" and "Wiimote" in the interface is inconsistent. "Wiimote" is also not a real word nor is it an official product name. Therefore I have changed instances of "Wiimote" in the UI to instead say "Wii Remote". I also made a couple of minor grammatical changes as well.

This is mostly a resubmission of #4338 but there are some minor other changes as well.
2016-10-25 19:49:41 -07:00
Sean Maas
9eb0ab936f Android: Remove Japanese strings
These were very outdated and unmaintained.
2016-10-25 14:20:19 -04:00
Sean Maas
68affd37a1 Android: Remove unused stuff 2016-10-25 14:20:15 -04:00
Sean Maas
3b28fe11d6 Android: Cleanup formatting 2016-10-25 14:18:06 -04:00
Sean Maas
12db4e4882 Android: Fix "up one level" button 2016-10-24 23:16:51 -04:00
Sean Maas
f981098438 Android: On-screen classic controller + Wii controller select
It's now possible to switch between a horizontal or vertical Wiimote
with no extension, a Wiimote with a Nunchuk, a Classic Controller,
or a GameCube Controller when running a Wii game.
2016-10-13 21:31:36 -04:00
Sean Maas
126117cdf7 Android: Use the light theme for emulation 2016-10-12 22:45:03 -04:00
Sean Maas
05f78a7707 Android: Add custom control scaling
Also put all touch control settings under a "Configure Controls" submenu
so the in-game menu isn't so cluttered.
2016-10-09 19:00:32 -04:00
sigmabeta
01b8a937ff Fix games being invisible in the game list on non-TV devices 2016-10-08 08:57:32 -04:00
degasus
05eff01229 Android: Update the gradle file to use android studio 2.2 cmake. 2016-10-05 23:44:10 +02:00
Stenzek
4a4f6cc135 Android: Add video backend choice to settings 2016-10-01 02:40:02 +10:00
Sean Maas
313be655f4 Android: Option to toggle on/off individual buttons 2016-09-29 20:06:59 -04:00
Sean Maas
50b44fa337 Android: More on-screen buttons
GameCube now has a c-stick. For Wii games, there is now a Wiimote + Nunchuk setup.
2016-09-29 20:06:59 -04:00
MaJoR
daac4c4ae9 Adding forgotten wiimote home button
Ooops, forgot something. This adds the home button, that's all.
2016-09-28 23:28:44 -07:00
MaJoR
df5ea3d292 Adds Android Wiimote button images.
These were made when the button images were first remade many months ago, but they were never committed since there was no use for them at the time (and laziness :P). BUT now there is a PR that finally has use for these images, so it's time to get this into Dolphin and available for use!
2016-09-23 02:25:31 -07:00
Ironthighs
3dfeea01da -Implemented ability to configure game controls by moving them around individually. Controls save locations once they are placed. 2016-07-22 23:01:45 -05:00
Ryan Houdek
baee7f0d15 Update to MaJoR1's latest on screen buttons 2016-03-08 20:27:03 -06:00
Pierre Bourdon
265c6408d6 Merge pull request #3686 from Armada651/revert-3578
Revert "Merge pull request #3578 from Armada651/forced-slow-depth"
2016-03-03 02:03:03 +01:00
Alcaro
da68dfc2f4 Use optipng too. 2016-02-29 17:08:18 +01:00
Jules Blok
6d1628eda4 Revert "Merge pull request #3578 from Armada651/forced-slow-depth"
This reverts commit e2a1a085b6, reversing
changes made to 2aea549eef.
2016-02-29 00:55:51 +01:00