summaryrefslogtreecommitdiff
path: root/Source/Android/jni/MainAndroid.cpp
AgeCommit message (Collapse)Author
2018-10-28Android: Speed up game settings savingzackhow
Previously would take several seconds to save, sometimes causing ANRs, which was made worse when adding all the controller values. Now we only load/save each section instead of doing it for each setting. Also added a method to save an individual setting.
2018-10-28Android: Add game specific gc/wii controller settingszackhow
2018-10-27android: remove enter and exit transitionweihuoya
2018-10-20VideoBackends: Pass window system info from host on creationStenzek
2018-10-20Drop Host_GetRenderSurface and pass display to backendStenzek
2018-10-20Refactoring and cleanup of GLInterface (now GLContext)Stenzek
2018-10-12Merge pull request #7437 from stenzek/graphics-options-raceMat M
Fix race condition caused by opening graphics options while running
2018-09-28Remove unused Host_ShowVideoConfigStenzek
2018-09-14Android: Run Directory Initialization as a thread instead of servicezackhow
Two reasons for this change. First, it appears that some android launchers do some sort of call into the application when long pressing the app icon, which in turn calls the DirectoryInit service. This was ok to do prior to Oreo but will cause crashes with the new restrictions on services running in the background. Which leads to the second reason that DirectoryInit doesn't need to be a service at all since these actions are required for dolphin to function and shouldn't be a scheduled action. So we instead just kick this off in a new thread and send the broadcast when done.
2018-08-27Profiler: Migrate global g_ProfileBlocks boolean to JitOptionsLioncash
This global belongs in the JitOptions structure, as it's a conditional setting (A.K.A. option) that changes the behavior of what the JIT does. Plus it keeps the scope of the variable constrained to the general area it's intended to be used and nothing further.
2018-08-23Android: Add usage statistics to android.zackhow
Added an option in General config to enable/disable usage statistics. Added a popup on first open if the user would like to engage in reporting. Clicking cancel or out of the box opts out. Only clicking 'Ok' will enable reporting. Also added a new android specific values to report.
2018-06-15PowerPC: Convert CPUCore enum into an enum classLioncash
Makes the enum values strongly-typed and prevents the identifiers from polluting the PowerPC namespace. This also cleans up the parameters of some functions where we were accepting an ambiguous int type and expecting the correct values to be passed in. Now those parameters accept a PowerPC::CPUCore type only, making it immediately obvious which values should be passed in. It also turns out we were storing these core types into other structures as plain ints, which have also been corrected. As this type is used directly with the configuration code, we need to provide our own overloaded insertion (<<) and extraction (>>) operators in order to make it compatible with it. These are fairly trivial to implement, so there's no issue here. A minor adjustment to TryParse() was required, as our generic function was doing the following: N tmp = 0; which is problematic, as custom types may not be able to have that assignment performed (e.g. strongly-typed enums), so we change this to: N tmp; which is sufficient, as the value is attempted to be initialized immediately under that statement.
2018-06-06Use UICommon's game list code on AndroidJosJuice
Deduplicates code, and gets rid of some problems the old code had (such as: bad performance when calling native functions, only one disc showing up for multi-disc games, Wii banners being low-res, unnecessarily much effort being needed for adding more metadata).
2018-05-28Common: Move host communication enum to Host.hLioncash
Given this is actually a part of the Host interface, this should be placed with it. While we're at it, turn it into an enum class so that we don't dump its contained values into the surrounding scope. We can also make Host_Message take the enum type itself directly instead of taking a general int value. After this, it'll be trivial to divide out the rest of Common.h and remove the header from the repository entirely
2018-05-20Reimplement custom PNG banners in game listJosJuice
Fixes https://bugs.dolphin-emu.org/issues/10938 and makes PNG banners available in DolphinQt2 for the first time.
2018-04-17Fix some warningsTillmann Karras
2018-04-03Fix build error on AndroidJosJuice
Caused by 4387432.
2018-03-31Remove dead codeLéo Lam
Unused, old code that is intended to be removed should not be left in comments -- that is what version control is for.
2018-03-31DiscIO: Don't use all uppercase for enum valuesJosJuice
Also removing some prefixes that we don't need now that we're using enum classes instead of plain enums.
2018-02-16Android: Implement game-specific settings overrides UIGreg Wicks
2018-01-21Android: Support change discmahdihijazi
2018-01-10Added an actual implementation for yes/no dialogs on Android using ↵34will
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-05Merge pull request #6270 from mahdihijazi/suppport_restore_stateMarkus Wick
[Android] Support restore emulator state
2017-12-28Optionally delete savestate that gets loaded at bootJosJuice
2017-12-28MainAndroid: Don't set User directory redundantlyJosJuice
2017-12-27MainAndroid: Optionally wait for savestate to finish writingJosJuice
2017-12-27MainAndroid: Allow specifying savestate to load at bootJosJuice
2017-12-27MainAndroid: Add wrapper for Core::IsRunningJosJuice
2017-12-27MainAndroid: Allow specifying path for savestatesJosJuice
2017-12-26Android: Don't extract Sys if it already is extractedJosJuice
2017-12-26Android: Extract Sys to a different folder than the User folderJosJuice
2017-10-15Move emulation lifecycle handling into EmulationFragment.Mike Harris
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-09-09Common: Move version strings to their own headerLioncash
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-08-23MainAndroid: Remove s_filenameJosJuice
This fits better as a function parameter than as global state.
2017-08-03MsgHandler: small cleanupMichael M
2017-07-30DolphinWX: Add a progress dialog host commandStenzek
Allows feedback from backends to be communicated to the user when long-running operation are performed (e.g. shader compilation).
2017-07-23Move the Wiimote connect code out of HostLéo Lam
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-15Remove Wii Remote connection status from status barLéo Lam
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-12DolphinWX: fix input bitmaps not working when background input is offMichael Maltese
2017-06-06Boot: Clean up the boot codeLéo Lam
* 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-06DiscIO: Remove C/I/S prefixes from class namesJosJuice
These prefixes were inconsistent with the rest of Dolphin. I'm also renaming VolumeWiiCrypted to VolumeWii because of 1113b13.
2017-06-05Fix minor formatting issuesLéo Lam
These were not caught by the lint script while it was broken.
2017-05-26Merge pull request #5465 from sepalani/gc-biosLeo Lam
Tools: Load GameCube BIOS added
2017-05-22Tools: Load GameCube BIOS addedSepalani
2017-05-22Fix indirect includesLéo Lam
2017-05-19DiscIO: Remove VolumeCreatorJosJuice
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-18MainAndroid: Resolve -Wmissing-variable-declarations warningsLioncash
2017-04-16x86-64 support on AndroidJosJuice
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-03-04Android: Move screenshot waiting logic to RendererStenzek
2017-03-04VideoCommon: Rename Renderer s_ prefixes to m_Stenzek