Commit Graph

1238 Commits

Author SHA1 Message Date
mahdihijazi 53f2fcb571 Android: Fix settings screen animation if Animator Duration Scale is Off
If Animator Duration Scale is Off, the Enhancements/Hacks screens were
not visible unless you enable the Animator Duration Scale back. This
make sure screens will be visible regardless of your animation settings.
2018-01-19 11:55:20 +01:00
Léo Lam ec78118a43
Merge pull request #6302 from JosJuice/gradle-compile
Use "implementation" for all dependencies in build.gradle
2018-01-13 11:25:37 +01:00
JosJuice 83870fbcf0 Use "implementation" for all dependencies in build.gradle 2018-01-12 21:29:42 +01:00
Markus Wick 41fe276323
Merge pull request #6295 from 34will/master
Yes/No Dialogs for Android
2018-01-10 14:55:37 +01:00
34will 10ea9e5f5b Added an actual implementation for yes/no dialogs on Android using Object.wait and Object.notify.
Modified NativeLibrary to display alerts in AlertDialogs rather than Toast notifications, and allow yes/no options.
Modified MainAndroid to use the new displayAlertMsg, and to return its output.
2018-01-10 13:41:57 +00:00
Markus Wick a1467f0e5a
Merge pull request #6282 from mahdihijazi/replace_file_browser
[Android] Replace current file browser
2018-01-10 09:50:16 +01:00
mahdihijazi 409ae4c444 [Android] Replace current file browser
1. Allow users to pick games dircetory from external storage.
2. Better UX experince to distinguish between selecting a directory or
a game. The later is needed when we implement change disk for android.
2018-01-05 21:43:19 +01:00
Markus Wick e705d43312
Merge pull request #6270 from mahdihijazi/suppport_restore_state
[Android] Support restore emulator state
2018-01-05 13:45:36 +01:00
mahdihijazi 42fa129552 [Android] Fix refreshing the games list after adding a directory
This was a regression from the time we introrduced the Platform enums.
2018-01-03 19:39:28 +01:00
mahdihijazi 136e835fb4 [Android] Support restore emulator state after the emulation screen is killed
1) Most of the times the native heap is kept around even after the activity
is killed, we can ask the native code if it is still running and resume
the emulation if that is the case.

2) In case the native heap is freed and the emulation can't resume we used
a temporary state to load on the game boot.

I couldn't find a way to test this, if you want to test this schnario,
add this block to EmulationFragment.

public void onDestroy()
{
	stopEmulation();
	super.onDestroy();
}

onDestroy is only called if the acivity killed by the OS and not be rotation
change whihch in this case will make sure to kill the emulation and start
again when the activiy is re-created.
2017-12-28 23:50:25 +01:00
JosJuice 82a6701f79 Optionally delete savestate that gets loaded at boot 2017-12-28 23:15:48 +01:00
JosJuice b921f6cdef MainAndroid: Don't set User directory redundantly 2017-12-28 13:34:49 +01:00
JosJuice 3e6e66b0d9 Android: Don't return anything from HandleInit
It only ever returned false.
2017-12-28 12:51:45 +01:00
JosJuice d8f10ba177 Android: Always run HandleInit logic on app start
Note: By "HandleInit" in this commit message, I mean the code that is
in HandleInit in master except the part that launches EmulationActivity.
In other words, I mean the call to SetUserDirectory and the call to
DirectoryInitializationService.startService. Couldn't think of
something more accurate to call that than "HandleInit"...

In master, HandleInit only runs when the main activity is launched.
This is a problem if the app ends up being launched in some other way,
such as resuming EmulationActivity after the app has been killed in
order to reclaim memory. It's important that we run HandleInit, because
otherwise the native code won't know where the User and Sys folders are.

In order to implement this, I'm dropping the ability to set a custom
User folder in an intent. I don't think anyone is using that anyway.
It's not impossible to support it, but I can't see a way to support
it that doesn't involve something ugly like having code for calling
HandleInit in every activity (or at least MainActivity + TvMainActivity
+ EmulationActivity, with more activities potentially needing it in
the future if we expand the usage of native code for e.g. settings).
If we want to support setting a custom user directory, we should
consider another way to do it, such as a setting that's stored in
getFilesDir() or getExternalStorageDirectory(). Intents are intended
to control the behavior of a specific activity, not the whole app.
2017-12-28 12:51:00 +01:00
JosJuice f9a0511937 MainAndroid: Optionally wait for savestate to finish writing 2017-12-27 21:53:14 +01:00
JosJuice 87957faddd MainAndroid: Allow specifying savestate to load at boot 2017-12-27 21:53:13 +01:00
JosJuice a81cbf60fb MainAndroid: Add wrapper for Core::IsRunning 2017-12-27 21:53:13 +01:00
JosJuice d9dd210739 MainAndroid: Allow specifying path for savestates 2017-12-27 21:53:07 +01:00
JosJuice 152f7fa35c Android: Fix race condition with writing files before setting User path 2017-12-26 09:53:44 +01:00
JosJuice 3262314435 Android: Don't extract Sys if it already is extracted 2017-12-26 09:53:43 +01:00
JosJuice b3b7aef09a Android: Extract Sys to a different folder than the User folder 2017-12-26 09:53:32 +01:00
JosJuice bfa7c14fef
Merge pull request #6258 from mahdihijazi/extract_service
[Android] Refactor AssetCopyService and the way we extract resources …
2017-12-24 14:59:14 +01:00
mahdihijazi 58ee9d2a78 Fix a bug when you open the gc pad settings after fresh install of Dolphin
You will see an empty gc pad settings screen until you open any other
settings screen and change something, at that moment the Dolphin.ini will
be created and the gc pad settings will be loaded successfully the next
time you open the screen.

This fixes the bug by putting the default gc pad settings section even if
the Dolphin.ini file doesn't exist
2017-12-23 16:39:26 +01:00
mahdihijazi 2cecb64e4c Don't override the WiimoteNew.ini so the user don't loose the selected source 2017-12-23 00:03:02 +01:00
JosJuice 06e25d1b4a Fix default value for Show FPS in Android GUI
https://bugs.dolphin-emu.org/issues/10728
2017-12-20 10:45:45 +01:00
Markus Wick f547703660
Merge pull request #6224 from hackbar/input-fix-moga
Android: Handle missing mappings for the Moga Pro 2 HID controller.
2017-12-19 09:55:57 +01:00
JosJuice acee8b1e23 Update Android GUI settings for Hybrid XFB 2017-12-18 21:53:06 +01:00
mahdihijazi 1190afef51 [Android] Refactor AssetCopyService and the way we extract resources from the assets
This solves the following issues:
1. If user uninstall Dolphin and install it again the resources will
not be copied unless the user manually clear the app cache because we
are enabling the allowBackup flag in the manifest which will make the app
restore the settings saved in the shared prefernces including the flag
assetsCopied. This PR always copy the files everytime you open Dolphin.

2. If the AssetCopyService took long time and you tried to open the settings
screen or start a game the behaviour was not expected or the emulator will
crash, this PR make sure that whatever we add to the DirectoryInitializationService
or how long it will take will still work as expected by blocking both
the settings screen and the emulaion screen to wait untill all resources
needed are copied.

3. Better communication between the DirectoryInitializationService and the
UI screens using brocast messages.
2017-12-18 14:32:39 +01:00
mahdihijazi e61e4d4b3c Replace all Anonymouse class with lambdas or method refernce where applicable 2017-12-18 13:19:57 +01:00
mahdihijazi c6bc25a189 Enable Java 8 features in Dolphin 2017-12-17 16:52:19 +01:00
taylor 6f6cdd206b [Android] Add support for true analog triggers.
This only works if GCPadNew.ini and Dolphin.ini files are not already in the dolphin config folder. Any advice would be helpful. I'd really like to tackle the UI and wiring for deadzones, radius, etc.
2017-12-06 16:46:10 -08:00
Mike 0067bf1b3e Android: Handle missing mappings for the Moga Pro 2 HID controller.
It seems to report the GENERIC_1 axis stuck at 1.
2017-11-28 19:57:50 -08:00
Mike 74ae2522fe Android: Handle a database downgrade.
This has no effect now, as we've never bumped the database version.
Instead, it adds future proofing, and makes moving between a future
version with a bump and master clean.
2017-11-09 18:54:04 -08:00
Mike 1f81e13d81 Android: Ignore joystick axis movements in the flat area.
Now that all inputs are corrected to zero-centered, we can use getFlat()
to ignore movements that are just noise.

This eliminates a lot of drift when the controller is at rest, notably
on the character select screen in Melee.
2017-11-07 17:39:56 -08:00
Mike 6787fcb712 Android: Handle duplicate axis, and fix known bad axis.
Android reports the same physical axis multiple times for analog
triggers, and this handles this case.

There are also some controllers with broken mappings (eg the analog
triggers on a PS4 DualShock 4). These axis don't center correctly.

There are also some controllers (again, the PS4) that send both a button
press and an axis movement. This ignores the buttons so we can use the
analog axis. Otherwise, since the button comes before the axis moves
far we would always take the button.
2017-11-07 17:39:56 -08:00
Leo Lam c8710d0861
Merge pull request #6142 from gwicks/android-settings
Android: Add Slot A and B Device settings to the settings UI
2017-11-03 14:25:40 +01:00
Leo Lam a58df9fe3d
Merge pull request #6163 from JosJuice/simple-ini-ir
Revert "Convert to/from old EFB scale numbering"
2017-11-03 13:46:40 +01:00
JosJuice 2d3dd5ede7 Revert "Convert to/from old EFB scale numbering"
This reverts commit 1fc910b3ea,
replacing the old INI setting EFBScale with a new INI setting
called InternalResolution, which has a simpler mapping:

                  | EFBScale             | InternalResolution
----------------- | -------------------- | --------------------
Auto (fractional) | 0                    |
Auto (integral)   | 1                    | 0
1x                | 2                    | 1
1.5x              | 3                    |
2x                | 4                    | 2
2.5x              | 5                    |
3x                | 6                    | 3
4x                | 7                    | 4
5x                | 8                    | 5
6x                | 9                    | 6

All the fractional IRs were removed in f090a943.
2017-11-02 21:39:05 +01:00
Anthony ad8d885c1d
Merge pull request #6140 from hackbar/cleanup2
Android: minor UI changes
2017-11-02 11:53:54 -07:00
Mike 18cb68eb3c Android: Destroy the surface in EmulationFragment onStop.
Emulation needs to be running when the surface is destroyed, but we want
to pause in onStop. So call the surfaceDestroyed callback, as this
accomplished both.
2017-11-01 23:39:56 -07:00
Mike 987d24fe87 Android: Use the newInstance pattern for EmulationFragment. 2017-11-01 22:39:48 -07:00
Mike 5cb1a08b13 Android: Only specify the transition name for the target Activity.
The source Views don't need the transition name. We could get the name
from the sharedView via getTransitionName, but since the TV
ImageCardView isn't inflated in XML it would be to be manually set.

I'm not sure if that would be any cleaner than this.
2017-11-01 18:54:54 -07:00
Mike 0fb3cb2f56 Android: Use the system "immersive" mode for fullscreen, and simplify how it's
called.

The user will get a brief system popup tutorial the first time it's
used, so we don't need to show them the menu every time. Once they
enable it by pulling down, hide again after 3s.
2017-11-01 18:54:54 -07:00
Greg Wicks 0625cfc34b Android: Add Slot A and B device settings to UI 2017-10-30 15:07:29 -04:00
Greg Wicks cf57e90986 Android: Update dependencies to use new format 2017-10-27 13:06:48 -04:00
Greg Wicks faad9ea5ab Android: Update gradle version 2017-10-26 20:59:18 -04:00
Mat M 78d5dbe032 Merge pull request #6127 from mbc07/android-codestyle-fix
[Android] Don't install Genymotion plugin when importing Code Style preferences file
2017-10-21 18:50:31 -04:00
Mike Harris fb6274f7bc Android: Refactor onMotionEvent.
This works the same, but only looks for the initial event and ignores
the keyup / return to home. It handles joystick diagonals smarter, in
that it ignore diagonals until the stick moves in a more cardinal
direction.

This fixes an odd bug where the dpad up/down were switched (thread post
I think found it -
https://forums.dolphin-emu.org/Thread-arm64-version-on-shield-tv-x1-local-multiplayer-not-working-d-pad-mappings?pid=379918#pid379918)
2017-10-21 13:01:13 -07:00
Mike Harris b8d45ad4be Android: Refactor the saveInput function.
In its prior state, it had xor parameters, which is confusing.
2017-10-21 13:01:12 -07:00
Mateus B. Cassiano 9eaf95144f [Android] Don't install GenyMotion plugin when importing Code Style preferences file 2017-10-21 02:28:36 -03:00
Mike Harris 0d78545255 Rename the param to setGamePath. 2017-10-16 20:36:13 -07:00
Mike Harris d73100f0e4 Minor cleanup in EmulationActivity.
Move the parameter extraction earlier on in onCreate. Mostly this moves
setting sIsGameCubeGame to before setContentView, which means
EmulationFragment will always see it in a consistent state. Previously,
there was a race, which mean the controller overlay would randomly be
Wii controls for a GameCube game (since the default is false).

Use the correct support version of things, ActivityOptionsCompat and
transitions

Rename static var mIsGameCubeGame to sIsGameCubeGame. s is static, m is
member.
2017-10-16 20:36:12 -07:00
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 d48c64457a Start the postponed activity transition as soon as Picasso loads the
image.

Doing it on the preDraw for the View is too complicated. This works just
as well.
2017-10-15 16:44:56 -07:00
Mike Harris 25a08fc5cc Only postpone transistions on Activity creation.
This is causing bugs (no UI is rendered) when the Activity is rotated.
2017-10-15 16:44:56 -07:00
Mike Harris 80e1cc56b3 Use weak references for the static Activity in NativeLibrary.
Add in null checks as well.
2017-10-15 16:44:56 -07:00
Mike Harris cde003c5cc Remove EmulationActivity.MenuType. This should have been removed when
SaveLoadStateFragment was refactored.
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 bb3f61296e Add a clearEmulation method.
This makes it clear that the Activity is being cleared and removes null as
a valid param. This improves readability (and logging slightly).

Fix spacing between [Tag] and message. This matches the rest of the log
messages.
2017-10-15 16:44:56 -07:00
Mike Harris 9fb0d9a664 Move all Activities and Fragments to the support library versions.
In the support lib, the code comes from the SDK, not the device like the
framework version. This means we're shipping a more recent and less buggy
version.

It's also a good idea to keep the entire project on one version. We have a bit
of a mix now. I think some of the Fragment animation issues were because of
this mixing.

For the leanback activities, AppCompatActivity requires AppCompat themes, which
they don't ship for Theme.Leanback. So use FragmentActivity instead (that's the
parent of AppCompatActivity, but still in the support library). For passed
around Activities, use FragmentActivity to work with both.
2017-10-15 16:44:56 -07:00
Mike Harris 9407d9ee0b Bump compile SDK and buildtools version to 26 (Oreo).
Bump the support lib version to 26. This allows for using property
animators (R.animator) in FragmentTransaction.setCustomAnimations.

Add the google maven repo, as from support lib 26 onwards, they're only
publishing it in there.

Bump the gradle version while we're at it, keep Android Studio quiet.
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 bdeee34eac Move newInstance and launch to the top of the file.
Following the style guide, constructors go before public methods.
newInstance and launch are basically constructors.
2017-10-03 17:51:08 -07:00
Mike Harris 3c3d0fa6f5 Remove 'all' as a Platform enum.
This will remove the 'all games' row on the TV view.
2017-09-29 09:38:14 -07:00
Mike Harris cc77a4963f Convert platform ints to a proper enum Platform.
This is good practice (see Effective Java chapter 6), and adds
compile-time checks.
2017-09-29 09:38:14 -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
Mike Harris 2d740147fe remove dupe log tag 2017-09-29 09:38:14 -07:00
Mike Harris 7db88e831e Remove prefix of tag, args and keys with packagename.
Prefixing everything with a constant packagename is not needed for
internal keys, and just adds complexity.

Rename ARGUMENT_ prefix to ARG_ to match (most) of the rest of the
codebase.

Restrict visiblity of above as much as possible.
2017-09-26 17:15:58 -07:00
Mike Harris ab90a3029d Move Save/LoadFragment's layout ID inline and private.
Fix the hack of using the layout resource ID as a save/load ID, and
instead use a proper enum.
2017-09-26 17:15:57 -07:00
Mike Harris 96525cbaaa Remove unused FRAGMENT_TAG, and move the fragment's layout ID inline.
FRAGMENT_ID wasn't actually the fragment's ID (that's misleading, and
sounds like the tag). It's actually the layout resource ID. There's no point in making that a static constant.
2017-09-25 22:47:52 -07:00
Mike Harris 252af9c1bd Remove the debug strings.xml definition of application_id.
This is handled by gradle, we don't need a separate strings.xml for
debug.
2017-09-25 22:20:52 -07:00
JosJuice 85ab968136 Android: Adjust position of floating action button 2017-09-21 15:48:17 +02:00
Markus Wick 4a124868d6 Merge pull request #6034 from JonnyH/WIP/fix-android-null-SettingsSection-crash
Fix some Android UI crashes opening 'settings' menus
2017-09-10 11:11:51 +02:00
Lioncash 696e1b40b5 Common: Move version strings to their own header
Ideally Common.h wouldn't be a header in the Common library, and instead be renamed to something else, like PlatformCompatibility.h or something, but even then, there's still some things in the header that don't really fall under that label

This moves the version strings out to their own version header that doesn't dump a bunch of other unrelated things into scope, like what Common.h was doing.

This also places them into the Common namespace, as opposed to letting them sit in the global namespace.
2017-09-09 19:28:10 -04: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
Jonathan Hamilton ec96a5d8bc Android UI: remove some unnecessary null pointer catches
These can no longer happen during 'normal' use (IE if the setting was
missing)
2017-09-08 10:11:04 -07:00
Jonathan Hamilton 3f247eefae Android SettingsFragmentParser - remove ad-hoc SettingSection construction
Now the SettingsSection map constructs a new SettingsSection at .get()
time, these are no longer needed
2017-09-08 10:06:53 -07:00
Jonathan Hamilton 221462808d Avoid crashes due to null SettingsSections
If a SettingsFile had at least one section, it was assumed all sections
were correctly filled out. This caused crashes when opening the settings
menus if that was not the case - for example the GFX.ini settings empty
sections are removed by the main dolphin app, putting the .ini file in a
state that would crash the settings window if at least one setting was
changed in it from the default, some sections were left as default.

This adds a subclass of HashMap<String, SettingSection> that constructs a
new SettingSection instead of returning 'null' if the key isn't found,
so the mSettings.get(FILE).get(SECTION).get(SETTING) pattern can be
safely used.
2017-09-08 10:06:53 -07:00
Markus Wick ce670c1851 Merge pull request #5959 from mahdihijazi/tv_version_number
[Android] Show the version number on the title for the Android TV UI
2017-09-08 12:17:06 +02:00
Leo Lam 1705d15d6f Merge pull request #5969 from JosJuice/android-filename
MainAndroid: Remove s_filename
2017-08-28 21:03:26 +02:00
Jonathan Hamilton 5a361fd6b3 Make the Android settings parser a bit more robust
It would fail on lines line "Value =" - IE a value set to emptystring.

This would cause the app to crash when trying to open the corresponding
settings window.
2017-08-23 15:50:21 -07:00
JosJuice f8703f90e3 MainAndroid: Remove s_filename
This fits better as a function parameter than as global state.
2017-08-23 22:36:21 +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
Michael M 737651f298 MsgHandler: small cleanup 2017-08-03 13:29:59 -07:00
Stenzek 134b0ca940 Android: Fix ubershader hybrid setting 2017-08-01 00:38:26 +10:00
Stenzek 901bf9c257 VideoConfig: Add config options for ubershaders 2017-07-30 17:43:59 +10:00
Stenzek 1fccbd5be3 DolphinWX: Add a progress dialog host command
Allows feedback from backends to be communicated to the user when
long-running operation are performed (e.g. shader compilation).
2017-07-30 12:38:48 +10:00
Léo Lam ee868e2362 Move the Wiimote connect code out of Host
I don't know who thought it would be a good idea to put the Wiimote
connect code as part of the Host interface, and have that called
from both the UI code and the core. And then hack around it by having
"force connect" events whenever Host_ConnectWiimote is called
from the core...
2017-07-23 15:47:32 +08:00
Léo Lam 91f8283a1d Remove Wii Remote connection status from status bar
Showing the Wii remote connection status leads to inconsistent UX,
because we don't do anything like that for GameCube controllers
or with Bluetooth passthrough.

It's also questionable how useful it is given that:

* it doesn't print the number of connected remotes, just that one
  remote is connected, connecting or not connected, so the only info
  it provides is actually wrong when using multiple remotes;

* this user-facing feature is actually broken in master and no one has
  complained AFAIK, which means people don't really rely on it;

* the status bar isn't visible most of the time unless the user is
  using render to main or deliberately keeping the main window's
  status bar visible by moving the render window and they're not too
  far away from their screen;

* emulated Wii remotes now reconnect on input, which means that there
  is less of a need to actually know at all times whether a remote
  is connected, since pressing any button will reconnect it and provide
  immediate, visible feedback via OSD messages and the Wii remote
  pointer appearing.
2017-07-15 13:01:56 +08:00
Michael Maltese 0019c34c73 DolphinWX: fix input bitmaps not working when background input is off 2017-07-12 00:12:07 -07:00
Léo Lam 22992ae41e Boot: Clean up the boot code
* Move out boot parameters to a separate struct, which is not part
  of SConfig/ConfigManager because there is no reason for it to
  be there.

* Move out file name parsing and constructing the appropriate params
  from paths to a separate function that does that, and only that.

* For every different boot type we support, add a proper struct with
  only the required parameters, with descriptive names and use
  std::variant to only store what we need.

* Clean up the bHLE_BS2 stuff which made no sense sometimes. Now
  instead of using bHLE_BS2 for two different things, both for storing
  the user config setting and as a runtime boot parameter,
  we simply replace the Disc boot params with BootParameters::IPL.

* Const correctness so it's clear what can or cannot update the config.

* Drop unused parameters and unneeded checks.

* Make a few checks a lot more concise. (Looking at you, extension
  checks for disc images.)

* Remove a mildly terrible workaround where we needed to pass an empty
  string in order to boot the GC IPL without any game inserted.
  (Not required anymore thanks to std::variant and std::optional.)

The motivation for this are multiple: cleaning up and being able to add
support for booting an installed NAND title. Without this change, it'd
be pretty much impossible to implement that.

Also, using std::visit with std::variant makes the compiler do
additional type checks: now we're guaranteed that the boot code will
handle all boot types and no invalid boot type will be possible.
2017-06-06 16:27:52 +02:00
JosJuice b2af07a7b7 DiscIO: Remove C/I/S prefixes from class names
These prefixes were inconsistent with the rest of Dolphin.

I'm also renaming VolumeWiiCrypted to VolumeWii because of 1113b13.
2017-06-06 12:31:59 +02: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
Léo Lam d9fd056803 Fix minor formatting issues
These were not caught by the lint script while it was broken.
2017-06-05 02:32:19 +02:00
Leo Lam f4190ab1c4 Merge pull request #5465 from sepalani/gc-bios
Tools: Load GameCube BIOS added
2017-05-26 10:23:03 +02:00
Sepalani 95ea721f06 Tools: Load GameCube BIOS added 2017-05-22 22:44:21 +01:00
Léo Lam cf0c4455cd Fix indirect includes 2017-05-22 10:39:36 +02:00
Pierre Bourdon d486904e9b build.gradle: do not change the output filename, our CI relies on it 2017-05-20 05:54:55 +02:00
JosJuice ac5c82b36b DiscIO: Remove VolumeCreator
This file is pretty small now that it doesn't handle Wii
partitions anymore, so let's move its contents to Volume.cpp.
This is also more consistent with how blob creation works.
2017-05-19 18:33:21 +02:00
Lioncash 35aa55931f MainAndroid: Resolve -Wmissing-variable-declarations warnings 2017-05-18 19:55:05 -04:00
Sean Maas 3e33c99f4c Android: Initialize video backend setting on first run 2017-05-18 08:44:45 -04:00
Sean Maas d4728807e0 Android: Add pressed dpad images for other DPIs 2017-05-15 08:32:22 -04:00
Sean Maas 3bd8890486 Android: Prevent stuck on-screen buttons 2017-05-15 08:32:07 -04:00
Sean Maas 6190b1c4e2 Android: Animate onscreen joystick
Invalidate more often, display nub as pressed when in use, and implement
basic nub bounds.
2017-05-14 15:29:47 -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 3dde12af13 Update support version 2017-05-04 17:21:31 +10:00
Tim Mutton 61aa507d23 Make apk name more descriptive 2017-05-04 17:13:31 +10:00
Tim Mutton 1fe1e11e0e Use try/catch with logging for version number 2017-05-04 17:13:31 +10:00
Tim Mutton c8d66fa246 Nix and windows variant of getting tag 2017-05-04 17:13:31 +10:00
Tim Mutton 8908d10028 Use different git command for version name 2017-05-04 17:13:31 +10:00
Tim Mutton 3d95bf0837 Revert change to version code until I can work out why its 13 2017-05-04 17:13:31 +10: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
Mahdi Hijazi ff475a2c02 [Android] Fix edit controls layout
Not checking the none existing key in the buttonsActionsMap
leads to break the sub menu of the configure controls menu
on Android phones.
2017-04-30 01:46:32 +02:00
Mahdi Hijazi 1e73f3c76e [Android] Fix game banners
Use Bitmap.setPixels() instead of Bitmap.copyPixelsFromBuffer() the former
use non pre-multiplied values of the colors which is what we expect to
come from the native code.
2017-04-27 20:41:55 +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
Markus Wick 9b1e2c2b1e Merge pull request #5118 from mahdihijazi/master
[Android] Load the game banner from the ROM and use it if no screenshot is available
2017-04-03 16:20:34 +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 ba935d40ba [Android] Load the game banner from the iso and use if no screenshot is available
It doesn't look that good since the banners are 96x32 but it still better
than nothing.
2017-03-24 21:26:48 +01:00
Mahdi Hijazi ecf2eaac99 Remove obselete game menu settings button 2017-03-18 22:08:49 +01:00
Mahdi Hijazi 4c0e5dedb4 Fix loading the saved screen shots for Android version
Apparently the path was changed from using "/thump.png" to using
"/gameId-#.png". We will always use the first screenshot for the game
broswer wich will be "/gameId-1.png"
2017-03-18 22:08:41 +01:00
Mahdi Hijazi d19f9038da Fix menu actions on Android TV
Saving screenshot was not working due to 2 problems. The first one is that
the view id of the save screenshot in the Android TV fragment doesnt match
the one declared inside the menu_emulation. Second Problem will be fixed
in another commit.

This commit chnage the code to not depend on reusing the ids of the menu
everywhere in the emulator inorder for the onMenuItemClicked to work.
Instead you need to call EmulationActivity.handleMenuAction passing
the action to handle regardless of the ids you are using in the view.
2017-03-18 22:08:32 +01:00
Markus Wick 489d90b6f3 Merge pull request #4999 from stenzek/renderer-statics
VideoCommon: Eliminate static state in Renderer
2017-03-08 11:02:20 +01:00
degasus a3f79f88cd Android: Update android studio + gradle.
Android studio 2.3 finally displays the result of the native compilation, so C++ warnings are now shown in the build log.
2017-03-04 15:53:40 +01:00
Stenzek 459a5ab554 Android: Move screenshot waiting logic to Renderer 2017-03-04 16:53:16 +10:00
Stenzek afc25fdca0 VideoCommon: Rename Renderer s_ prefixes to m_ 2017-03-04 16:42:21 +10:00
Markus Wick 56afabb9a8 Merge pull request #4919 from ntruhan/master
Android: Sort configuration ini files
2017-03-03 00:39:12 +01:00
Lioncash beec40f178 IniFile: Handle s64/u64 values 2017-02-25 00:03:20 -05:00
ntruhan 3d8ab184ac Android: Sort configuration ini files 2017-02-16 13:08:00 -05:00
Lioncash e07383a783 Core: Convert State enum into an enum class 2017-02-05 08:32:23 -05:00
Florent Castelli fa04c1479e cmake: Remove PCH support
Compilers are very picky and don't use PCH when they have been compiled
with different flags. I even got some ICE in MSVC, so removing them for now.

Modules are the solution.
2017-01-24 03:22:03 +01:00
Michael Maltese 21ae6afa73 Android: remove unused android.toolchain.cmake
Gradle automatically sets up the CMake build and this file isn't referenced
anywhere.
2017-01-22 16:54:08 -08:00
Sarkie 8c5c7f8d2a Updated gradle to latest version 2017-01-17 10:19:39 +00:00
Sean Maas cc29691875 Android: Change Exit Without Saving to Save and Exit 2017-01-10 17:12:42 -05:00
Tillmann Karras 7284c7a954 Android: fix software renderer 2nd edition 2017-01-09 11:58:19 +00:00
Tillmann Karras 7e21732b53 Android: fix software renderer settings string 2017-01-08 17:28:14 +00:00
JosJuice 9bd514ed1c Add TGC disc image compatibility 2016-12-18 18:57:36 +01:00
Sean Maas 8647639746 Android: Fix Wii bindings resetting everything 2016-11-29 22:27:40 -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
Sean Maas 128c1f04ad Android: Specify ini file for every setting
Load all the inis at once, choose which one to write to, and save them all
at the same time. This allows us to modify settings from different files
on the same settings page.
2016-11-14 18:34:06 -05:00
Markus Wick 6a2e1e9986 Merge pull request #4429 from SeannyM/android-invert-settings
Android: Fix inverted EFB settings
2016-11-14 10:07:10 +01:00
Jules Blok aab6b70868 MainAndroid: Remove obsolete Host_RequestFullscreen() function 2016-11-11 20:48:19 +01:00
Jules Blok 8203ea929b BlockingLoop: Yield to UI message pump while waiting. 2016-11-11 13:37:02 +01:00
Sean Maas beff65854a Android: Fix inverted EFB settings 2016-11-06 12:50:56 -05:00
Pringo 93bdab64fa Change "Wiimote" to "Wii Remote" in Logs 2016-11-03 17:58:28 -07:00
Markus Wick 1c9ed79c6a Merge pull request #4409 from sigmabeta/android-tv-screenshot-errors
[Android TV] Fix a screenshot glitch on game selector
2016-10-31 23:34:41 +01:00
Markus Wick 4f5d0cd450 Merge pull request #4391 from Pringo/wii-remote
Change "Wiimote" to "Wii Remote" in Interface
2016-10-31 12:49:16 +01:00
Markus Wick d5ca153c26 Merge pull request #4401 from JosJuice/rename-getuniqueid
DiscIO/SConfig: Rename GetUniqueID to GetGameID
2016-10-31 12:39:27 +01:00
sigmabeta 64cf56dda3 Clear screenshot in game grid before attempting to render on Android TV devices 2016-10-30 18:53:57 -04:00
JosJuice 1081497cad DiscIO/SConfig: Rename GetUniqueID to GetGameID
We call this "game ID" everywhere else, and it's not
actually completely unique.
2016-10-29 15:24:02 +02:00
Markus Wick 838b234317 Merge pull request #4389 from SeannyM/android-dir-restrict
Android: Allow accessing all folders
2016-10-26 08:49:27 +02: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 f257c3385b Android: Fix screenshots on game list 2016-10-25 22:25:34 -04:00
Sean Maas 351825aa10 Android: Allow accessing all folders 2016-10-25 21:55:31 -04: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
shuffle2 720cb34573 Merge pull request #4347 from SeannyM/android-wii-control
Android: On-screen classic controller + Wii controller select
2016-10-15 22:51:27 -07:00
Sean Maas 662cedfb78 Android: Fix some settings 2016-10-15 23:14:48 -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
Stenzek 6a99cbd9fc VideoCommon: Call Renderer::SurfaceChanged on render parent resize
This is needed because for some reason the WSI for NV Vulkan drivers
doesn't return VK_ERROR_OUT_OF_DATE_KHR, so there is no other way to know
that a resize has occured apart from polling, which is a poor solution for
X11 (since it is blocking).
2016-10-01 01:09:12 +10:00
Sean Maas a317953ad4 Android: More accurate button scaling
Also scale based on button ID for consistency.
2016-09-29 21:46:46 -04: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
Sean Maas bd99b318e5 Android: Add on-screen dpad support 2016-09-29 20:06:59 -04:00
Sean Maas c24a22e30f Android: Use button IDs to save screen layout
Using the drawable caused problems such as not being able to have multiple joysticks.
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
Markus Wick dc40e75642 Merge pull request #4248 from SeannyM/android-left
Android: Fix Wiimote left button
2016-09-26 08:52:46 +02:00
Sean Maas 6ca8974b13 Android: Fix Wiimote left button 2016-09-25 21:05:40 -04: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
Markus Wick 023eb34247 Merge pull request #4229 from SeannyM/android-joystick
Android: fix joystick saving incorrect y-coordinate
2016-09-20 07:03:15 +02:00
Sean Maas 001afae420 Android: fix joystick saving incorrect y-coordinate 2016-09-19 18:03:30 -04:00
Markus Wick 90ab952588 Merge pull request #4219 from SeannyM/android-state
Android: fix save and load state menus on non-TV devices
2016-09-19 22:32:05 +02:00
Markus Wick 0e2ec349ad Merge pull request #4221 from SeannyM/android-cleanup
Android: remove unused files
2016-09-19 22:30:20 +02:00
Sean Maas 9d54c472ae Android: scale buttons based on smaller screen dimension 2016-09-18 17:48:47 -04:00
Sean Maas d49b38a5c9 Android: remove unused files 2016-09-16 18:24:16 -04:00
Sean Maas 094470ead6 Android: fix save and load state menus on non-TV devices 2016-09-16 17:43:38 -04:00
sigmabeta 8724df3b70 Fix crash caused by trying to reference touch-screen config UI on devices without touchscreen 2016-07-30 09:33:35 -04:00
Ironthighs 1ad32ee382 -Commented out lines disabling lint translation messages. 2016-07-22 23:01:45 -05:00
Ironthighs 89b5bc9ee5 -Fixed some various coding standard issues from previous commit. 2016-07-22 23:01:45 -05: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
JosJuice 0a15aaaa12 Move DiscIO enums to a new file
At first there weren't many enums in Volume.h, but the number has been
growing, and I'm planning to add one more for regions. To not make
Volume.h too large, and to avoid needing to include Volume.h in code
that doesn't use volume objects, I'm moving the enums to a new file.
I'm also turning them into enum classes while I'm at it.
2016-07-13 17:29:27 +02:00
degasus d79aeaa1e9 VideoCommon: Drop GetConfigName.
We're past 5.0 now, so there is no need to look for old inis.
2016-06-26 12:34:59 +02:00
JosJuice 1878605d77 Undo some comment formatting changes from b5104a7 2016-06-25 18:07:10 +02:00
Rukai b5104a79f1 GCVolume: supports reading all opening.bnr information
DQT2: Game properties dialog contains info tab giving information about the selected iso.
2016-06-26 00:03:59 +10:00
spider-mario 9e82694071 Fix configStrings in Android’s ButtonManager
The bug was exposed by clang-format.
2016-06-24 22:36:15 +02:00
Pierre Bourdon 3570c7f03a Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
Mat M 08d45b9fea Merge pull request #3794 from EmptyChaos/frame-advance-race
Core: Add synchronization to state changes (Fix Frame Step and FIFO Player -  Issue 8718)
2016-05-22 15:19:16 -04:00
Tyler Dunn cf65199d86 [Android] Fix extra character in screenshot folder path
Environment.getExternalStorageDirectory().getPath() covers the end of the path with a slash, get rid of the extra slash to fix the path.
2016-05-20 15:24:49 -04:00
Tyler Dunn 4a0a92e95e [Android] Bump gradle plugin to 2.1.0
And fix deprecation warning in script
2016-05-18 22:31:54 -04:00
Tyler Dunn a5b72abf2c [Android] Reduce code redundancy 2016-05-18 22:13:33 -04:00
Tyler Dunn 937caea1c9 [Android] Drop commit() for apply()
Apply is asynchronous, and we aren't expecting a return value so there
is no reason not to use apply.
2016-05-18 22:10:52 -04:00
Tyler Dunn a0b54f558e [Android] Don't hardcode SD card path 2016-05-18 22:10:42 -04:00
Tyler Dunn 6a870c2417 [Android] Fix possible leak of fileCursor 2016-05-18 22:10:29 -04:00
JosJuice dc3bbeb92f Fix reading CISO files on Android 2016-05-17 14:20:59 +02:00
EmptyChaos c1944f623b Core/Movie: Add ability to run code in Host context
EndPlayInput runs on the CPU thread so it can't directly call
UpdateWantDeterminism. PlayController also tries to ChangeDisc
from the CPU Thread which is also invalid. It now just pauses
execution and posts a request to the Host to fix it instead.

The Core itself also did dodgy things like PauseAndLock-ing
from the CPU Thread and SetState from EmuThread which have been
removed.
2016-05-13 09:23:44 +10:00
EmptyChaos c1922783f8 Core: Threadsafety Synchronization Fixes (Frame Advance / FifoPlayer)
Fix Frame Advance and FifoPlayer pause/unpause/stop.

CPU::EnableStepping is not atomic but is called from multiple threads
which races and leaves the system in a random state; also instruction
stepping was unstable, m_StepEvent had an almost random value because
of the dual purpose it served which could cause races where CPU::Run
would SingleStep when it was supposed to be sleeping.

FifoPlayer never FinishStateMove()d which was causing it to deadlock.
Rather than partially reimplementing CPU::Run, just use CPUCoreBase
and then call CPU::Run(). More DRY and less likely to have weird bugs
specific to the player (i.e the previous freezing on pause/stop).

Refactor PowerPC::state into CPU since it manages the state of the
CPU Thread which is controlled by CPU, not PowerPC. This simplifies
the architecture somewhat and eliminates races that can be caused by
calling PowerPC state functions directly instead of using CPU's
(because they bypassed the EnableStepping lock).
2016-05-13 09:23:44 +10:00
degasus 2030ad4577 SCM: Use std::string.
Those macros may be defined, or not. We should support both cases, so use std::string as it also defines the length of the string.
2016-05-05 00:22:49 +02:00
degasus 3a4ff30745 Android: Also create directorys for the Wii files. 2016-04-24 14:44:30 +02:00
degasus 18db9498d7 Android: Check asset overwrite per file.
So new files will be added, eg the missed Wii directory.
2016-04-24 14:44:30 +02:00
degasus 3f704dca75 Android: Also copy sys/Wii directory.
Seems like this one was just missed, some games just did not start without it.
2016-04-24 14:44:30 +02:00
sigmabeta 57eea4f330 Fix android builds permanently. 2016-04-02 10:14:40 -04:00
degasus 6cd7740f4b Android: Update gradle version 2016-04-02 13:56:30 +02:00
Pierre Bourdon 2d1c0e4092 Merge pull request #3722 from Sonicadvance1/upgrade_to_new_MaJoR1
Update to MaJoR1's latest on screen buttons
2016-03-27 22:43:22 +02:00
Ryan Houdek 38a5183eb4 Fix Android buildbot 2016-03-12 15:44:13 -06:00
Ryan Houdek baee7f0d15 Update to MaJoR1's latest on screen buttons 2016-03-08 20:27:03 -06:00
Tyler Dunn 309b0c53bf [Android] Remove CPUHelper class 2016-03-04 16:17:41 -05:00
Ryan Houdek b57cb30c41 [Android] Make sure the file extension check isn't case sensitive 2016-03-03 08:29:51 -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
Pierre Bourdon 8e1aff34df Merge pull request #3682 from Alcaro/master
Run pngout and zopflipng on every single PNG in this repo.
2016-02-29 17:27:29 +01:00
Alcaro da68dfc2f4 Use optipng too. 2016-02-29 17:08:18 +01:00
Ryan Houdek c82feb6c08 Merge pull request #3626 from Sonicadvance1/more_robust_gcadapter
Improve stability of the Wii U Gamecube Controller adapter under Android.
2016-02-29 09:54:01 -05: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
Alcaro a79d9ccfa1 Run pngout and zopflipng on every single PNG in this repo. 2016-02-27 22:25:51 +01:00
Ryan Houdek 6513062144 Merge pull request #3596 from Sonicadvance1/fix_android_crash
[Android] Fix crash when we don't have access to a folder.
2016-02-22 16:15:54 -05:00
Jules Blok e2a1a085b6 Merge pull request #3578 from Armada651/forced-slow-depth
VideoConfig: Replace FastDepthCalc by ForcedSlowDepth.
2016-02-22 11:29:09 +01:00
Ryan Houdek 6cc40b1235 Improve stability of the Wii U Gamecube Controller adapter under Android.
Under failure conditions of the GC Adapter, When interface count is zero and we can't open the device.
Then there were race conditions on shutdown of the threads which could result in crashing.

Make adapter opening more robust like the Mayflash DolphinBar.
Make shutdown more robust by making the read thread control the write thread.
Make sure that there is actual data to be written when kicking the write thread. So it doesn't attempt a write a shutdown.
Make a toast on screen to tell the user that the adapter needs to be unplugged and plugged back in again for it to work.
2016-02-13 08:17:20 -06:00
sigmabeta c2d03e62e7 Add Wiimote graphic 2016-02-08 21:23:16 -05:00
sigmabeta dd4082f216 Add Wiimote Speaker option 2016-02-08 21:23:16 -05:00
sigmabeta 85cf07e87e Add Wiimote Input menu 2016-02-08 21:23:16 -05:00
Jules Blok fb2f8e49bb Android: Remove FastDepthCalc option. 2016-02-08 12:26:56 +01:00
Ryan Houdek fe53461611 [Android] Implement support for real Wiimotes with the DolphinBar
This is the only way to get Wiimotes working under Android now.
This, just like the Wii U Gamecube Controller Adapter, completely goes around Android's limitations and talks with the device directly through USBManager.

Couple notes.
Continuous scanning must be enabled otherwise the Wiimotes won't be seen.
The UI doesn't expose support for this yet. One must change the Wiimote source and continuous scanning settings manually.

Testing up to two wiimotes in Taiko No Tatsujin, no reason to believe all four won't work.
2016-02-07 05:31:48 -06:00
Ryan Houdek 07434e3a65 [Android] Fix crash when we don't have access to a folder. 2016-02-05 22:03:33 -06:00
sigmabeta 7542eafd58 Fix capitalization on "GameCube" strings 2016-01-31 10:17:30 -05:00
sigmabeta 93056e3988 Change SettingsActivity label to "Settings" instead of "CPU Settings" 2016-01-31 10:06:00 -05:00
sigmabeta 9215878868 Add some stability fixes, though probably not enough 2016-01-30 10:24:44 -05:00
sigmabeta bc03bbccf1 Make necessary modifications to Java_GCAdapter for permissions request 2016-01-30 10:10:15 -05:00
sigmabeta 6115d39a7a Implement Gamecube Input setting screen 2016-01-29 23:33:06 -05:00
Ryan Houdek f1ca95eec7 Merge pull request #3553 from Sonicadvance1/more_android_gc_adapter
Implement requesting permission for using the GC Wii U Adapter.
2016-01-29 23:12:37 -05:00
Ryan Houdek b846ec084e Implement requesting permission for using the GC Wii U Adapter. 2016-01-27 15:08:45 -06:00
sigmabeta 28bcd2636b Fix CPU Core selection on x86-64 devices (really, just the Android emulator) 2016-01-25 09:28:57 -05:00
sigmabeta 96e7f774ae Fix rotations in Settings screen breaking everything 2016-01-25 09:28:57 -05:00
sigmabeta fb04622039 Fix bugs in Setting screen & add a way to exit without saving 2016-01-24 19:31:34 -05:00
sigmabeta cf7f5d078b Fix accessing video settings on Android TV 2016-01-24 10:04:06 -05:00
sigmabeta 04974835d6 Add fragment transition animations to the Settings UI screen 2016-01-23 17:00:54 -05:00
sigmabeta 2190496ce8 Fix special case for XFB & update EFB to match desktop 2016-01-23 12:28:51 -05:00
sigmabeta cee84d8e90 Cleanup and documentation 2016-01-23 12:28:51 -05:00
sigmabeta d90dce6d12 Implement video settings + support for missing files / settings 2016-01-23 12:28:51 -05:00
sigmabeta c8e4008b83 Implement Seekbar dialog and SingleChoice dialog 2016-01-23 12:28:50 -05:00
sigmabeta ce8a3d9bfb Implement basic framework for new Settings UI 2016-01-23 12:28:50 -05:00
sigmabeta e49f9b10a8 Implement Java-based Config file read/save 2016-01-23 12:28:50 -05:00
Ryan Houdek ba8dc2cef3 Merge pull request #3517 from sigmabeta/android-animation-refactor
[Android] Refactor animations
2016-01-22 06:24:57 -05:00
sigmabeta 11fb26afa1 Fix android builds 2016-01-21 22:55:51 -05:00
Ryan Houdek c399eefdaa Strip the Android shared library file.
This cuts down the shared library size from ~11MB to ~5.5MB
2016-01-20 10:40:42 -06:00
sigmabeta 85ef16a75a Create static helper methods for pixel-to-DP conversion 2016-01-16 10:33:59 -05:00
sigmabeta d677f9ce16 Externalize animation code into static methods 2016-01-16 10:33:59 -05:00
Ryan Houdek 0271f05ab8 Merge pull request #3492 from sigmabeta/android-update-build-tools
[Android] Update build tools + support libraries
2016-01-13 16:35:52 -05:00
sigmabeta 5fef956384 Prevent screenshot from showing on EmulationActivity rotation events 2016-01-12 10:33:00 -05:00
sigmabeta 5f43976b10 Create a static Log class to call into instead of the default android one 2016-01-12 09:54:19 -05:00
Ryan Houdek bd31b1411b Merge pull request #3493 from sigmabeta/android-tv-screenshot-bugfix
[Android] Minor refactor + bugfix
2016-01-11 16:04:56 -05:00
Ryan Houdek 78bb37b29f Merge pull request #3494 from Sonicadvance1/android_rotation
[Android] Add support for rotation and minimizing the application
2016-01-11 01:18:37 -05:00
Ryan Houdek 5a549ef663 [Android] Add support for rotation and minimizing the application 2016-01-10 13:00:32 -06:00
Ryan Houdek d17bcbb489 [Android] Pause and resume emulation using proper functions 2016-01-10 12:23:40 -06:00
sigmabeta db0a923083 Refresh screenshots in TvMainActivity after emulation complete 2016-01-10 13:18:20 -05:00
sigmabeta 7ff558886a Refactor EmulationActivity to be launched exclusively by its static launcher method 2016-01-10 13:00:01 -05:00
sigmabeta e34abd5739 Move TvMainActivity to ui.main package 2016-01-10 12:10:02 -05:00
sigmabeta 13f336051f Update build tools + support libraries 2016-01-10 10:58:12 -05:00
sigmabeta df2f783a77 Refactor PlatformGamesFragment to MVP structure 2016-01-10 10:37:32 -05:00
sigmabeta a455305c23 Refactor AddDirectoryActivity and SettingsActivity to be launched exclusively via their own launcher method 2016-01-09 23:35:25 -05:00
sigmabeta 24efce4cea Refactor TvMainActivity to MVP architecture 2016-01-09 20:32:10 -05:00
sigmabeta 81657b6710 Refactor MainActivity to MVP architecture 2016-01-09 18:08:04 -05:00
sigmabeta f58a8561f8 Refactor DB read code to use RxJava 2016-01-09 13:10:22 -05:00
Pierre Bourdon dd1192b709 Merge pull request #3449 from freelancer42/android_finish_main_activity_after_autostartfile
StartupHandler.java: Finish main activity if AutoStartFile is specified in intent
2016-01-07 00:50:47 +01:00
Pierre Bourdon e668fd7a02 Merge pull request #3465 from Sonicadvance1/Android_move_jni
Move Android JNI bits from DolphinWX to the Android folder.
2016-01-07 00:47:39 +01:00
Ryan Houdek 74478addeb Move Android JNI bits from DolphinWX to the Android folder. 2016-01-06 15:36:44 -06:00
Ryan Houdek 7fcb5a803b Merge pull request #3359 from degasus/ini
VideoConfig: Use "GFX.ini" for both D3D and OGL.
2016-01-06 16:02:23 -05:00
degasus ad1f7576ad VideoConfig: Use "GFX.ini" for both D3D and OGL.
They share the same format, so there is no need to separate their configs.
2016-01-06 21:43:11 +01:00
Ryan Houdek e3da564418 Merge pull request #3440 from Sonicadvance1/Android_WiiU_Adapter
[Android] Disable screen lock when a title is running.
2016-01-06 15:42:25 -05:00
Ryan Houdek 342496563d Merge pull request #3455 from Sonicadvance1/GC_adapter_android
[Android] Add support for the Wii U Gamecube adapter under Android.
2016-01-06 15:07:09 -05:00
Ryan Houdek 1a207b06ae [Android] Fix enabling and disabling Gamecube controllers. 2016-01-06 11:54:46 -06:00
Ryan Houdek e62503c873 [Android] Add support for the Wii U Gamecube adapter under Android.
No way to properly enable it from an end user perspective yet.
Doesn't require root.
This same sort of system can be used for the Dolphinbar in the future for real wiimote support.
2016-01-06 01:10:54 -06:00
Kim Johnsson 204201bcbc StartupHandler.java: Finish main activity if AutoStartFile is specified in intent
Call finish() on parent (main/browser) activity after starting EmulationActivity if AutoStartFile was specified. This makes the experience more streamlined for users who want to start games from an external frontend, since they don't expect to return to the Dolphin main activity after they've played their game.
2016-01-05 13:55:30 +01:00
Phatcat b2ad0d0793 Android: 4k Internal Resolution support
Adds two more internal resolution options (including 4k) to the Android
configurations
2016-01-04 13:36:06 +01:00
Phatcat f62054e467 Android: More analog input configurations
Lets the user set the following in intervals of 10 between 10 and 100;
- Stick/Radius (default 100,000000)
- Triggers/Threshold (default 90,000000)
- Tilt/Modifier/Range (default 50,000000) + mapped Tilt/Modifier button
to the configurations for wiimotes & nunchuks
2016-01-04 13:35:04 +01:00
Phatcat 158f0e8102 Android: Added categories to input controls
- Seperates input configurations into categories
- Reworked input configurations to reuse more strings
2016-01-04 13:19:44 +01:00
Phatcat cfe8400cdd Android: Revision of PR 3253 (Wiimote controls)
- Fix small error in NativeLibrary (line 141)
- Fix faulty indentment in arrays.xml
- Rework numbering system to be more accessible.
2016-01-04 13:19:42 +01:00
sigmabeta b882a79322 Add support for the CPU Clock Override feature to Android UI 2016-01-03 16:46:29 -05:00
Ryan Houdek 6e60dc60e0 [Android] Disable screen lock when a title is running.
Encountered this when testing out the Wii U Gamecube Adapter.
2016-01-03 09:42:41 -06:00
Ryan Houdek e77d454b8b [Android] Add support for launching a game through activity monitor.
This also allows setting the user directory.
This is mainly for FifoCI in the future.
2016-01-01 08:57:19 -06:00
Jules Blok 2c5965be88 UserPreferences: Move all stereoscopy options to the stereoscopy section. 2015-12-22 23:16:28 +01:00
Phatcat ca9c9b7135 Wiimote + Extensions for Android 2015-12-02 21:58:54 +01:00
JosJuice cbd539eb3d Use official names for GameCube controller sticks
Main Stick is changed to Control Stick and C-Stick is changed to C Stick.

A new ui_name variable is added to ControlGroup so that the UI strings
in DolphinWX can be updated without breaking backwards compatibility
with config INIs and other things that use names as IDs.
2015-09-12 22:45:06 +02:00
Ryan Houdek c319fbb98d Merge pull request #3013 from aserna3/Security101
Removed fastmem from Android UI
2015-09-11 09:14:50 -04:00
Anthony Serna cbd7b0793f Removed fastmem from Android UI 2015-09-09 14:46:20 -07:00
degasus 74b20e627c VideoCommon: Drop "Disable destAlpha" hack
This option has no use any more, neither performance nor driver workaround.
2015-09-09 21:31:54 +02:00
Ryan Houdek 9bb63bf2eb [Android] Fix multi-gamecube controller input, config changes 2015-09-04 20:06:01 -05:00
sigmabeta 6d6cb12b15 Android: Remove "fitSystemWindows" flag from MainActivity layout 2015-08-06 08:34:21 -04:00
sigmabeta dc1f7aeb66 Android: Include newer versions of support libraries, which contain bugfixes 2015-08-06 08:26:31 -04:00
sigmabeta 6f27ad67e7 Android: Allow usage of Cached Interpreter core. 2015-07-28 17:16:14 -04:00
Ryan Houdek e805e05ff5 Merge pull request #2773 from sigmabeta/android_wiimote_main
Android: Add Wiimote support, including configuration UI.
2015-07-26 16:54:45 -05:00
sigmabeta e7f98c7f95 Android TV: Add first-run copy operations to TvMainActivity. 2015-07-25 14:09:58 -04:00
sigmabeta 245b58124e Android TV: Add settings row, enabling access to other screens. 2015-07-25 12:26:31 -04:00
sigmabeta 0b1212b77d Android TV: Add row listing all games 2015-07-25 12:26:31 -04:00
sigmabeta 7c14996e3e Android TV: Implement game selector activity in new Android TV UI 2015-07-25 12:26:31 -04:00
sigmabeta a8aa19f1fa Android: Implement UI for configuration of all 4 Wiimotes. 2015-07-25 11:26:18 -04:00
sigmabeta 1cb07b1c48 Android: Wiimote UI Fixup 2015-07-23 23:17:16 -04:00
sigmabeta 008ac0eeb0 Android: Add UI for Wiimote configuration. 2015-07-23 22:11:11 -04:00
Ryan Houdek a8227ad9b1 Add Wiimote support to the Android backend.
Not actually wired up to the Android UI for configuration.
2015-07-21 21:33:23 -05:00
Ryan Houdek 3163602157 Merge pull request #2688 from sigmabeta/android-tv-ingame-menu
Android TV: Replace toolbar on EmulationActivity with a full-screen menu
2015-07-21 12:52:21 -05:00
sigmabeta 12fd46e12d Android TV: Add title text to in-game menu, and make the menu scrollable. 2015-07-14 17:45:00 -04:00
sigmabeta c0315fcf78 Android TV: Implement Save and Load state menus 2015-07-14 17:45:00 -04:00
sigmabeta d191d8851a Android TV: Visual tweaks & glitch fixes 2015-07-14 17:45:00 -04:00
sigmabeta 9dd4cee1b7 Android TV: Fix a layering issue on the ingame menu 2015-07-14 17:45:00 -04:00
sigmabeta 957691444d Android TV: Replace toolbar on EmulationActivity with a full-screen menu. 2015-07-14 17:45:00 -04:00
sigmabeta 658c49fab3 Android:Changes to simplify command-line building of the app, and bugfixes to the Gradle script 2015-07-13 09:37:44 -04:00
sigmabeta 3ad151062b Android TV: Game selection screen highlights games with accent color. 2015-07-03 13:46:54 -04:00
sigmabeta fd82f90fce Android: Show transition animation when exiting game. 2015-06-26 15:01:23 -04:00
sigmabeta 0fcf0e1d21 Android: Show transition animation while game loads. 2015-06-26 08:32:51 -04:00
sigmabeta 0679e43efe Android: Show screenshot on EmulationActivity before game starts. 2015-06-25 21:43:00 -04:00
sigmabeta e970f757d0 Android: Don't crash trying to hide toolbar in game. 2015-06-24 22:53:33 -04:00
sigmabeta 8ca620db7f Android: Invalidate Picasso screenshot cache every time a screenshot is displayed. 2015-06-23 22:36:27 -04:00
sigmabeta a028805626 Android: Save screenshot at end of an emulation session. 2015-06-23 22:22:01 -04:00
sigmabeta 6b24b604e5 Android: MainActivity now contains a tab switcher separating games by platform. 2015-06-23 21:54:09 -04:00
sigmabeta 8b5b83c29a Android Refactor: GameGridActivity is now MainActivity, and uses a Toolbar that reacts to the game grid scrolling. 2015-06-23 21:54:09 -04:00
sigmabeta fa2d06e7a4 Android: Switch all activities to AppCompat-based Material themes, and use Support Library version of Floating Action Button. 2015-06-23 21:54:02 -04:00
Ryan Houdek bb89a81053 Merge pull request #2635 from sigmabeta/android-seriously-now
Android: Remove Low and Medium DPI versions of all images.
2015-06-23 20:47:16 -05:00
Ryan Houdek 52aa9c05bd Merge pull request #2633 from sigmabeta/android-emulation-menu
Android: Add Quicksave/Load functionality, and cleanup in-game menu.
2015-06-23 20:47:10 -05:00
sigmabeta ac1f309b2c Android: Remove Low and Medium DPI versions of all images. 2015-06-20 18:18:06 -04:00
sigmabeta 92c954c463 Android: Add Quicksave/Load functionality, and cleanup in-game menu. 2015-06-20 12:34:03 -04:00
sigmabeta 2bdf6537c8 Android: Have non-games use their filename as a Game ID. 2015-06-19 09:15:31 -04:00
sigmabeta 0c993ad4a9 Android: Fix a bug making Input Overlay config screen only work in release OR debug builds, but not in both. 2015-06-16 15:42:11 -04:00
sigmabeta 82dea170cf Android: Don't delete the Input Overlay configuration screen. 2015-06-16 10:12:51 -04:00
Ryan Houdek 094c6bf5bc Merge pull request #2601 from Sonicadvance1/android_fix_user_directory
[Android] Make sure we are setting the default user directory.
2015-06-14 17:03:55 -05:00
Matthew Parlane 252c719515 Merge pull request #2600 from Sonicadvance1/Android_remove_dialog
[Android] Remove dialog telling individuals that their drivers are terrible.
2015-06-14 15:17:03 +10:00
Ryan Houdek 7c4e6c7eb9 [Android] Make sure we are setting the default user directory.
This fixes an issue where the settings aren't being saved correctly because the user directory is never set before a run of the game.
2015-06-13 08:37:56 -05:00
Ryan Houdek 467f351f79 [Android] Remove dialog telling individuals that their drivers are terrible.
There aren't any AArch64 devices with v14 Qualcomm drivers. So it is dead code.
2015-06-13 08:18:42 -05:00
Jeffrey Pfau 7e36166374 Android: Allow git and cmake locations to be overridden 2015-06-13 03:54:37 -07:00
Jeffrey Pfau fff657a7da Android: Allow NDK location to be overridden 2015-06-12 19:59:25 -07:00
sigmabeta 5d5fc88a70 Android: Persist previously-set controller bindings on the Settings menu. 2015-06-09 10:31:15 -04:00
sigmabeta b7dcbdbf57 Android: Database improvements - remove non-existent games & folders. 2015-06-08 20:27:12 -04:00
sigmabeta d56f27857b Android: Don't remove input configuration related files from old UI. 2015-06-08 20:07:43 -04:00
Eder Bastos 6f3279d627 Android: Remove old UI references from manifest, and set the new UI Activity's title to "Dolphin Emulator' 2015-06-08 19:43:10 -04:00
Eder Bastos dbdc8121f0 Android: Require Android 5.0. 2015-06-08 19:43:10 -04:00
Eder Bastos f197b5e7d5 Android: Remove the old UI. 2015-06-08 19:43:07 -04:00
Ryan Houdek a91c152b86 Merge pull request #2572 from sigmabeta/android-show-version
Android: Show the version name as a subtitle in the GameGridActivity.
2015-06-08 19:37:33 -04:00
sigmabeta 1f07473f1f Android: Show filenames for games with an empty title. 2015-06-08 19:23:04 -04:00
sigmabeta f80f4bb542 Android: Show the version name as a subtitle in the GameGridActivity. 2015-06-08 18:07:26 -04:00
Ryan Houdek 21b1d143bc Merge pull request #2566 from sigmabeta/android-tv-back
Android TV: Show the in-game menu when back button is pushed.
2015-06-08 04:02:22 -04:00
Ryan Houdek 59e2225f7d Remove ARMv7 support. 2015-06-07 22:44:13 -05:00
Ryan Houdek 51b440fbcf Merge pull request #2449 from sigmabeta/android-decouple-surfaceview
\Android: Decouple SurfaceView initialization and emulation start.
2015-06-07 23:18:56 -04:00
Ryan Houdek 9521bc1fc6 Merge pull request #2558 from sigmabeta/android-panic-alerts
Android: Display Panic Alerts on-screen as a Toast message.
2015-06-07 23:14:34 -04:00
sigmabeta a97e9addf0 Android: Show the in-game menu when back button is pushed. 2015-06-07 23:11:34 -04:00
sigmabeta 8c843d98b6 Android: Add refresh library function. 2015-06-07 21:15:28 -04:00
sigmabeta 36d051d3f9 Android: Run AssetCopyService only once. 2015-06-07 20:42:30 -04:00
sigmabeta 3038368128 Android: Display Panic Alerts on-screen as an Android Toast message. 2015-06-07 20:13:52 -04:00
sigmabeta e04778f9eb Android: Allow compilation using Android NDK r10e. 2015-06-07 13:36:59 -04:00
sigmabeta 51cad1025c Android TV: File Dolphin under "Games" on the TV Launcher 2015-06-05 16:26:49 -04:00
Eder Bastos 920a85b846 Android TV: Add TV banner + some metadata. 2015-06-03 19:42:15 -04:00
Eder Bastos b14bea8544 Android TV: Allow the app to be launched from an Android TV launcher. 2015-06-03 16:48:38 -04:00
Eder Bastos ed39876cb0 Android TV: Make file selector screen usable with d-pads 2015-06-01 16:42:54 -04:00
Ryan Houdek d789d8d75f [Android] Add support for panic alerts to the JNI. 2015-05-25 22:13:00 -05:00
Ryan Houdek 0c5f5c4519 Merge pull request #2394 from Sonicadvance1/android_block_profiling_api
[Android] Block profiling JNI interface
2015-05-25 23:06:37 -04:00
Tillmann Karras cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
Eder Bastos 4faff3cf62 Android: Decouple SurfaceView initialization and emulation start. 2015-05-24 19:40:11 -04:00
Eder Bastos fe8d9e5a38 Android: Upgrade to newest Build-Tools version. 2015-05-22 17:14:28 -04:00
Eder Bastos 140826edd5 Android: Have build.gradle figure out what ABI and Toolchain to use. 2015-05-22 17:13:25 -04:00
Eder Bastos 286af8be50 Android: Implement new EmulationActivity. 2015-05-21 20:14:03 -04:00
Eder Bastos 3e5e352fee Android: Implement an SQLite database-based game library. 2015-05-20 19:55:55 -04:00
Eder Bastos 4f6a5e0293 Android: Make floating action buttons use the correct accent color programmatically. 2015-05-20 19:46:48 -04:00
Eder Bastos 91c1c0b1b3 Android: Add SQLiteDatabase interface class. 2015-05-20 19:46:28 -04:00
Eder Bastos 5b0c047e0b Android: Remove inheritance from Game model, and improve the relevance of its content 2015-05-20 19:46:19 -04:00
Eder Bastos 4c786cb70c Android: Implement reading country value from game files. 2015-05-20 19:44:31 -04:00
Lioncash 12493c332c Merge pull request #2420 from sigmabeta/android-native-gradle-build
Android: Allow building of native code inside Android Studio / Gradle
2015-05-20 19:31:30 -04:00
Eder Bastos 4cded65320 Android: No longer require specification of NDK or Git paths in build.gradle. 2015-05-19 09:05:35 -04:00
Eder Bastos 9c19d91e18 Android: Allow building of native libraries inside Android Studio / Gradle 2015-05-18 21:20:43 -04:00
Eder Bastos ba591ea1ee Android: Add Settings Activity to new UI. 2015-05-15 10:45:00 -04:00
Eder Bastos bb7f8c6753 Move AssetCopyService to the services package. 2015-05-14 20:44:52 -04:00
Eder Bastos 4710c3e0eb Android: Build separate APKs for each native platform. 2015-05-13 22:45:12 -04:00
Eder Bastos c75378bb45 Android: Put GCPadNew.ini back into the repository. 2015-05-12 19:12:21 -04:00
Eder Bastos 0fa0e55e2c Android: Fix a possible crash in the file browser if attempting to show a file with no extension. 2015-05-12 09:18:29 -04:00
Eder Bastos 06b7b20e5f Android: Scale number of columns in game grid according to screen width. 2015-05-11 17:06:54 -04:00
Eder Bastos f3aec526b1 Add an IntelliJ settings file describing the Dolphin project code style. 2015-05-11 11:16:56 -04:00
Ryan Houdek a36dc19d9b Add JNI interface for enabling writing block profile results. 2015-05-10 20:03:34 -05:00
Eder Bastos abaf41baa7 Add a subtitle to AddDirectoryActivity containing the currently displayed folder's path. 2015-05-10 17:28:45 -04:00
Eder Bastos ca4bec3539 Don't show "Error" when a blank string is returned from a native method. 2015-05-10 10:46:46 -04:00
Eder Bastos 3f1465196c Add touch feedback to GameGridActivity and AddDirectoryActivity. 2015-05-10 10:30:09 -04:00
Eder Bastos 24c6be9d0f Add File Browser screen to new UI. 2015-05-09 12:36:17 -04:00
Eder Bastos 700225f8c8 Add floating action button to GameGridActivity. 2015-05-08 19:57:44 -04:00
Eder Bastos a4395ecd75 Have Picasso load images into memory at the size they will be displayed. 2015-05-08 19:56:25 -04:00
Eder Bastos b47835fc07 Implement first few screens of Android 5.0-based UI. 2015-05-07 22:27:42 -04:00
Eder Bastos 2fe4b9ce68 Remove the "nativeLibsToJar" gradle task. 2015-05-05 22:34:56 -04:00
Eder Bastos c80225ea4d Convert the Android source code to the directory structure of a Gradle-based Android Studio project. 2015-05-02 21:49:17 -04:00
Ryan Houdek c2b2e03f73 [Android] Support arguments from Activity Monitor.
Activity Monitor can start activities by using adb to invoke it.
This will allow us to set the user directory and autostart file from adb.

adb shell am start -n org.dolphinemu.dolphinemu/.gamelist.GameListActivity -e AutoStartFile /sdcard/AC.gcz -e UserDir /sdcard/dolphin-emu2/

This allows more automated testing to be done with Dolphin on Android.
2015-03-08 08:43:25 -05:00
Ryan Houdek db06f058e4 Move user directory detection location to UICommon.
The UI should decide on where it wants the user directory, not our core system.
This is in anticipation of some upcoming work on Android which will need proper user directory setting.
2015-02-25 03:31:59 -06:00
Ryan Houdek 29fc52cfa1 [Android] Stop eating button events we don't handle.
We were eating /all/ button events except the back button. This would cause issues where Android wouldn't receive button press events for things like
volume rockers. So you couldn't change the audio ingame, even if that button isn't bound to an input.

Now we return to Android if we've handled that button press, so it works fine.
2015-02-24 05:38:16 -06:00
Ryan Houdek a39eee28e9 Fix a typo in the Android cmake toolchain script.
This was a fairly recent update that went unnoticed because it uses a cached variable.
When I previously updated Android cmake I didn't noticed this.
Basically the issue was that Android cmake was no longer setting ${LIBRARY_OUTPUT_PATH_ROOT}
and instead only setting it to ${CMAKE_SOURCE_DIR} if it was passed a variable.

Same PR is open on the android cmake repo here https://github.com/taka-no-me/android-cmake/pull/37
2015-02-24 02:58:55 -06:00
Ryan Houdek 09e8adb199 [Android] Fix ignore format changes option.
This option was inversed, so it was always set to the opposite of what was wanted.
2015-02-18 16:27:37 -06:00
Ryan Houdek 714e146b94 Update Android cmake.
This is required to properly build the MIPS64 and x86_64 targets with clang.
2015-01-26 21:26:54 -06:00
Ryan Houdek de070cfe8b [Android] Change the default renderer to OpenGL.
We now require OpenGL ES 3.0 minimum to run, this is the sane default.
2015-01-26 00:51:24 -06:00
Ryan Houdek 983c7f4f21 [Android] Select the AArch64 recompiler core by default if shown to support ARMv8. 2015-01-26 00:50:25 -06:00
Ryan Houdek 7ee1dc56e7 [Android] No longer carry a default configuration file. 2015-01-26 00:49:24 -06:00
Ryan Houdek 0557fb6a9e [Android] Add internet permissions.
These permissions are required for the ability to create sockets. Which are sort of required on a system that can make them.
2015-01-23 23:15:56 -06:00
Ryan Houdek 864969f300 [Android] Expose aspect ratio to the video settings. 2015-01-18 15:21:40 -06:00
Lioncash ad254f1b16 Android: Fix a typo (Depthn -> Depth) 2014-12-28 20:34:54 -05:00
Lioncash 038b968698 Android: Use findViewById instead of getChildAt
More futureproof if anything else is added to the layout.
2014-12-28 20:33:27 -05:00
Lioncash 4221999c6e Android: Fix a warning regarding a string in the slider layout 2014-12-28 20:19:29 -05:00
Lioncash fa0c3aa62d Android: Remove unnecessary context variable in SliderPreference 2014-12-28 20:17:24 -05:00
Ryan Houdek 859e103ce6 [Android] Add support for sterescopy configuration.
This menu allows us to configure the stereoscopy video settings if the device supports it.
This menu is only enabled if the hardware supports everything needed to use the feature.
2014-12-26 08:17:29 -06:00
Ryan Houdek 97d6afdde9 [Android] Add a few helper functions to EGLHelper.
Let's us check for extension support and OpenGL version.
2014-12-23 03:56:06 -06:00
Matthew Parlane f4ab1443fa Merge pull request #1725 from Sonicadvance1/update_gradle
Updates the gradle build file to the latest needed for Android Studio.
2014-12-21 14:31:05 +13:00
Ryan Houdek b47cf7e70e Updates the gradle build file to the latest needed for Android Studio.
This may require the buildbot to be updated.
2014-12-20 19:01:40 -06:00
Ryan Houdek 3b332f7270 [Android] Raise requirements to Android 4.3 and OpenGL ES 3.0
We need to stop pretending that we "support" GLES 2.0 devices.
We are a high performance application that requires GLES 3.0, which was officially supported in Android 4.3.
The few Android phones that released with Android 4.2 and supported OpenGL ES 3.0 have already been updated to a later Android version.
2014-12-20 15:43:51 -06:00
Lioncash f9ba7a0fb2 Merge pull request #1625 from unknownbrackets/android-minor
Android: Ignore some generated files
2014-12-01 02:54:31 -05:00
Unknown W. Brackets 86ebe3916e Android: Ignore some generated files.
/obj/ is used by ndk debugging (gdb) in some scenarios.
2014-11-30 22:52:22 -08:00
Ryan Houdek db9cd8e3d7 Merge pull request #1615 from Sonicadvance1/fix_cpu_helper
[Android] Removes CPU architecture number from CPU helper.
2014-11-30 15:43:47 -06:00
Ryan Houdek 496f9d678a [Android] Removes CPU architecture number from CPU helper.
This was '7' on all ARMv7 devices but was 'AArch64' on the Nexus 9.
Trying to cast to integer was causing a crash. We don't even use this so may as well as wipe it.
Also adds Nvidia to the CPU implementers list.
2014-11-30 01:17:05 -06:00
Ryan Houdek b689954a71 Update the android cmake toolchain to latest.
To properly support 64bit architectures and clang we need the latest version.
2014-11-30 01:05:37 -06:00
Lioncash 6d0faced59 Merge pull request #1580 from lioncash/android
InputConfigFragment: Use a StringBuilder for string concatenation
2014-11-20 11:19:35 -05:00
Lioncash d4a8e51e71 AboutFragmentItem: Remove incorrect javadoc tag 2014-11-20 09:23:27 -05:00
Lioncash feb038bec3 InputConfigFragment: Use a StringBuilder for string concatenation
This is the recommended way to join strings, since it doesn't destroy and recreate the string repeatedly.
2014-11-20 09:18:30 -05:00
Stevoisiak f1a26ff654 Various country flag improvements
* Added country flags for games from Netherlands and Spain
* Added separate category for Region Free games (Uses European flag as placeholder)
* Added missing country filter options in "show regions" menu
* Rearranged country filters for readability
* Incremented CACHE_REVISION

Also fixed various country filters not showing up as options in the "Show regions" menu.
2014-11-18 19:44:16 -05:00
Lioncash b1c06fdd19 Merge pull request #1563 from lioncash/ui
Android: Use a PagerTabStrip instead of the ActionBar.
2014-11-17 13:57:00 -05:00
Lioncash b94dbca160 Host: Kill off GetRenderWindowSize 2014-11-17 13:44:49 -05:00
Lioncash 5396a48d70 Android: Use a PagerTabStrip instead of the ActionBar.
The ActionBar method of doing the tabular layout is deprecated on Android 5.0.
This method alleviates those deprecations while providing the same functionality.
2014-11-16 21:18:08 -05:00
Lioncash 7d8248e24f Android: Remove unused imports in GameListItem 2014-11-15 01:45:13 -05:00
Lioncash cc62cb8818 Android: Support RTL language translations
If someone wants to do a translation for an Arabic language, Hebrew, etc, it will now display correctly.
2014-11-15 01:45:12 -05:00
Lioncash 4d6bc39e2f AndroidManifest: Increment the minimum and target SDK values 2014-11-15 01:45:02 -05:00
Lioncash 5b1f734695 Android: Prevent instantiation of utility classes 2014-11-15 01:40:30 -05:00
Lioncash 4fe8bb1ca7 Android: Compress an if statement in FolderBrowser 2014-11-15 01:40:29 -05:00
Ryan Houdek 1c41acaddd Merge pull request #1264 from Stevoisiak/GCM-to-ISO
Gcm to iso
2014-11-02 11:29:41 -06:00
Stevoisiak d937c072a5 Updated android GCM references to ISO 2014-11-02 12:22:36 -05:00
Ryan Houdek 5dbfadaeaa Enables EFB copies by default on Android.
I was mistaken and only changed one line previously which didn't enable them by default.
This changes the default configuration to enable EFB copies and EFB to texture.
2014-10-30 07:43:14 -05:00
Ryan Houdek ceb08acf23 Fix a crash on Android when unplugging a controller during emulation.
If the action we are getting is a ACTION_CANCEL, it means that the "gesture" is aborted and we shouldn't perform any more actions on it.
2014-10-18 07:33:51 -05:00
Lioncash 053f5c1f17 Android: Use apply() instead of commit() for SharedPreference changes.
apply() changes the in-memory instance of SharedPreferences and writes to the disk asynchronously, rather than synchronously, which commit() does. Since these are done on the UI thread, they should be asynchronous.
2014-10-08 23:12:25 -04:00
Sean Maas 17f0fdb18f [Android] Return to game list instead of exiting app 2014-10-08 22:28:18 -04:00
Ryan Houdek e18860830a Show OpenGL or OpenGL ES on Android depending on what the device supports.
Reduces confusion for the users
2014-09-19 09:21:16 -05:00
Ryan Houdek 707d21e36b Fix a few minor bugs that appeared in the latest android cmake script 2014-09-07 23:18:43 -05:00
shuffle2 60a772c5e8 Merge pull request #901 from Sonicadvance1/64bit-android-cmake
Update the android cmake toolchain file to support 64bit.
2014-09-03 00:09:03 -07:00
Ryan Houdek fc92490031 Merge pull request #902 from Sonicadvance1/android-64bit-support
Update shown CPU cores in the Android UI.
2014-08-28 18:20:35 -05:00
Ryan Houdek 5bf9472214 Update shown CPU cores in the Android UI.
Only show the JIT cores on x86_64(Will have its own issues once we reach that point)
Show AArch64 JIT if running on a AArch64 device(Good luck with that for now. Future proofing though)
2014-08-28 18:00:32 -05:00
Ryan Houdek b197f44518 Update build.gradle to newer buildtools.
Newer android studio versions now mandate at least build tools 20.0.0 and gradle 0.12+
So update the gradle file for this.
2014-08-28 17:21:48 -05:00
Ryan Houdek 0d63dd5e53 Update the android cmake toolchain file to support 64bit.
This is available in a PR here: https://github.com/taka-no-me/android-cmake/pull/23
The maintainer of the android toolchain cmake file seems to be AWOL for now.
I have tested this file personally and it works, it just isn't merged in yet
2014-08-28 16:57:48 -05:00