Commit Graph

946 Commits

Author SHA1 Message Date
Lioncash 932e3c1db2 [Android] Tidy up the dialog buttons that don't do anything.
All we want to do with these is dismiss the dialog. The same can be done by simply passing null.
2014-03-09 23:02:08 -04:00
Pierre Bourdon 8863eb0671 Merge pull request #145 from lioncash/split-about-activity
[Android] Split the AboutFragmentItem and InfoFragmentAdapter into their own class files.
2014-03-10 02:20:25 +01:00
Tillmann Karras 161b67076a Update android.toolchain.cmake
from https://raw.github.com/taka-no-me/android-cmake/master/android.toolchain.cmake
2014-03-09 15:24:33 +01:00
Lioncash 53ed0051c8 [Android] Split the AboutFragmentItem and InfoFragmentAdapter into their own class files.
It doesn't make sense conceptually to keep them within the AboutActivity, as they are entirely self-contained classes.
2014-03-08 19:37:32 -05:00
Lioncash c5fb4ac96f [Android] Remove unnecessary comment from VideoSettingsFragment.
Misleading comment. We won't need to access index four for anything.
2014-03-08 19:08:26 -05:00
Ryan Houdek 1f750904af Fix the OpenGL About tab.
Move EGLHelper to be local to the creation of the about GL/GLES tabs so we don't have 3 EGL contexts running at a time.
Fix issues with OpenGL context creation here so we show the correct information.
This requires adding an EGL function to the NativeLibrary since Android's JAVA bindings don't expose eglBindAPI.
2014-02-22 21:08:27 -06:00
Ryan Houdek cf6e0b6015 Make it possible to build Dolphin for Android in OS X and also less of a pain with gradle. 2014-02-22 21:01:58 -06:00
Ryan Houdek 3666178f85 Remove Cache DL option from Android UI
This option has been removed entirely from Dolphin, so remove the option from Android
2014-02-06 17:02:38 -06:00
degasus 010a0d481a VideoCommon: remove Cache Displaylist
This option was known to break every second game and only boost a bit.
It also seems to be broken because of streaming into pinned memory and buffer storage buffers.

v2: also remove dlc_desc
2014-01-31 07:30:55 +01:00
Ryan Houdek ac2ebd264d Merge pull request #5 from lioncash/android-info-fix
[Android] Fix three limits in GLES2InfoFragment.java.
2014-01-29 04:46:01 -08:00
Lioncash 74d9d7923e Fix three limits in GLES2InfoFragment.java. 2014-01-29 07:35:07 -05:00
Buildbot system user 7ed9f5e63e Upgrade Android API. 2014-01-28 23:35:13 +00:00
Lioncash b9e7749fe6 [Android] Implement CPU info retrieval within the about menu.
ARM only at the moment. Could potentially support x86 and MIPS if necessary.
Capable of parsing the manufacturer codes and part IDs of some (but not all part numbers). If anyone knows of part numbers that aren't in the list, please report them.
2014-01-26 21:37:43 -05:00
Lioncash 521aa631dc [Android] Parse integer ranges in the GLES3 info tab.
The info we retrieve will only ever have 2 elements given back to us.
2014-01-22 12:28:46 -05:00
Lioncash 36863bf7b8 [Android] Get rid of the version check class in VideoSettingsFragment.java. Not needed anymore since the introduction of the EGLHelper class. Also decouples some classes from the VideoSettingsFragment.java class (yay).
- Minor other change is that the EGL helper fields in GLES3InfoFragment.java, GLES2InfoFragment.java, and GLInfoFragment.java are made final.
2014-01-22 11:56:25 -05:00
Lioncash 5c4d087e8f [Android] Greatly clean up the previous commits. Now here is the long list of cleaned up things:
- Spaces -> Tabs | Consistency
- Javadoc everything that was added and not documented.
- Remove duplicated code regarding the adapter that used to reside in DolphinInfoFragment.java. Now it resides in AboutActivity.java without a second duplication of it.
- Properly retrieve all of the contexts in the EGL initialization in EGLHelper.java.
- Remove the attribute EGL_RENDERABLE_TYPE from the pbuffersurface attributes in EGLHelper.java. With this present, the EGL context will always fail to reinitialize if destroyed and attempted to be recreated.
- Break the inner class Limit within GLES2InfoFragment.java, GLES3InfoFragment.java, and GLInfoFragment.java into its own single class. Greatly reduces code duplication.
- Introduce a Type enum into Limit.java (one of the wildly rare cases in Java where an enum is actually an OK solution). Removes duplicated constants from the Java files stated in the previous bullet note.
- Add a copyright comment to the top of EGLHelper.java. Forgot to do this initially, my bad.
- Add some missing override annotations to GLES2InfoFragment.java, GLES3InfoFragment.java, and GLInfoFragment.java.
- Use StringBuilders in the previously mentioned three Java files. This is better than using a String in this instance, as the String object won't have to be recreated multiple times (ala concatenation).
- Fix some constant accessors in the previously mentioned three Java files.
- Added the 'final' modifier to the above three classes and to Limit.java. These classes serve a single purpose only, and are not intended to be inherited.
2014-01-22 00:41:23 -05:00
Ryan Houdek 7e9b8d18a7 [android-about-menu-info] Add desktop OpenGL tab population.
Since showing every single limit that desktop OGL supports is crazy, Let's just show the basic information, and extensions.
2014-01-21 17:55:00 -06:00
Ryan Houdek d3ccf1c7b5 [android-about-menu-info] Have information populate the GLES2 and GLES3 tabs.
There is a /lot/ of information in these tabs, we may have to think about changing how the information looks
OpenGL isn't done yet since there are a million limits on desktop GL, may just show a few things and extensions there.
2014-01-21 17:45:39 -06:00
Lioncash 0dc437e94d [Android] Finally check if regular OpenGL is possible on devices and display/hide it's fragment based upon this in AboutActivity.java.
Also added another constructor to EGLHelper which can be used to quickly query for information.
2014-01-21 00:12:40 -05:00
Lioncash f8abdbf91a [Android] Initial introduction of the EGLHelper utility class. Should simplify all interop with the EGL/GL APIs. Not hooked up yet. However it is entirely functional. 2014-01-19 18:29:43 -05:00
Lioncash 45964e4b46 [Android] Initial implementation of the extended info menu.
Most fragments are not implemented yet. This is just a working base framework for it.
2014-01-07 19:47:15 -05:00
Lioncash e6497bca5a [Android] Simplify instantiations of OverlayConfigButton.java. Also simplified resizeDrawable even more. We just acquire the resource instance and then get the display metrics directly. 2014-01-02 12:23:17 -05:00
Lioncash 5635c94a30 [Android] Simplify resizeDrawable in OverlayConfigButton.java.
Also add a missing override to onRestart in DolphinEmulator.java.
2014-01-02 11:53:28 -05:00
Ryan Houdek 2ed24d5311 [Android] Fix the gradle build system to allow for building from terminal. It will now copy the library files correctly and sign the resulting apk. 2013-12-24 15:28:24 -06:00
Ryan Houdek 86b3719d14 [Android] Add a gradle build file for use with Android Studio 4.0 2013-12-23 12:26:55 -07:00
Ryan Houdek 6737904c83 [Android] Stop copying assets that don't need to be copied anymore. 2013-12-21 16:20:14 -06:00
Ryan Houdek 2e1aa64958 [Android] Fix joysticks only capable of right/down movements. Also make it capable of using onscreen joystick even if controller 1 is bound. 2013-12-12 21:24:39 -06:00
Ryan Houdek 50df037bb5 [Android] Fix gamepad input. 2013-12-12 14:42:25 -06:00
Ryan Houdek 2a0adc3972 [Android] Make our OpenGL ES 3 check in the UI less stupid. 2013-12-12 11:58:38 -06:00
Ryan Houdek bc01785264 [Android] Fix an issue that occurs due to the warning dialog. 2013-11-30 19:48:08 -06:00
Ryan Houdek 65ce711a21 [Android] 0.13 release. 2013-11-30 14:28:48 -06:00
Ryan Houdek 020331383a [Android] Fix alert when using crappy Qualcomm drivers. 2013-11-30 14:28:00 -06:00
Ryan Houdek 2ad686a2a2 [Android-overlay] Z-button support. 2013-11-29 21:50:42 -06:00
Ryan Houdek b9f03444cd [Android-overlay] Fix Java imports. 2013-11-29 21:32:27 -06:00
Ryan Houdek 7bdd8191db Merge branch 'master' into android-new-control-input-overlay
Conflicts:
	Source/Android/src/org/dolphinemu/dolphinemu/settings/video/VideoSettingsFragment.java
2013-11-29 21:27:17 -06:00
Ryan Houdek 00a25cdaf5 [Android-overlay] Disable Wiimote configuration until it is wired up. 2013-11-29 21:12:36 -06:00
Lioncash f6e89356c7 [Android] Simplify some things in the overlay. Also Javadoc the new static function. 2013-11-29 20:06:39 -05:00
Ryan Houdek 49eef423a8 [Android-overlay] Add the new overlay icons. Support configuring them. Disable hardfloat since it has issues since Dalvik doesn't understand passing floats due to ABI differences. 2013-11-29 18:37:33 -06:00
Lioncash 7f85c3215b [Android] Add Javadoc to InputOverlayDrawableJoystick. 2013-11-25 17:18:31 -05:00
Lioncash 76843b450b [Android] Build the configuration window for the overlay programmatically. Moved the overlay configuration classes into their own package. Also launch the overlay config activity through the preference XML via an embedded Intent. Lets us remove code explicitly handling this. 2013-11-25 14:23:28 -05:00
Ryan Houdek 7ed8e6a29c [Android] Fix the check for the Qualcomm graphics driver version for v53 drivers with the screen being rotated 90 degrees. Initialize the OpenGL information grabbing only once. Check for v14 Qualcomm drivers and spit out an error if the user tries selecting OpenGL ES 3. 2013-11-24 22:45:48 -06:00
Ryan Houdek ba18f38e70 Merge branch 'master' into android-new-control-input-overlay
Conflicts:
	Source/Android/res/values-ja/strings.xml
	Source/Android/res/values/strings.xml
	Source/Android/src/org/dolphinemu/dolphinemu/AboutFragment.java
	Source/Android/src/org/dolphinemu/dolphinemu/emulation/EmulationActivity.java
	Source/Android/src/org/dolphinemu/dolphinemu/folderbrowser/FolderBrowser.java
	Source/Android/src/org/dolphinemu/dolphinemu/gamelist/GameListActivity.java
	Source/Android/src/org/dolphinemu/dolphinemu/settings/video/VideoSettingsFragment.java
2013-11-24 16:12:00 -06:00
Ryan Houdek f292819ff5 [Android] Due to recent changes in code breaking Tegra 4 support, and also the upcoming code which will be breaking GLES2 support entirely. Taking the initiative to drop the remaining support code from the codebase in preparation for the upcoming changes. For a look at how Dolphin on Tegra 4 looked like prior and would not have been able to be fixed at all due to Tegra 4 not supporting the precision we need in our shaders; Look at this Youtube video http://youtu.be/Ga7Jc_Ote7U 2013-11-24 15:49:23 -06:00
Ryan Houdek f6f2b1fc60 [Android-overlay] Support multiple gamepads with touch screen controls. 2013-11-24 15:04:53 -06:00
Lioncash 42f8562e5c [Android] Basic Wiimote binding settings now implemented. 2013-11-19 19:28:10 -05:00
Lioncash 7e544d8996 [Android] Basic UI functionality for enabling/disabling aforementioned Gamecube controllers. 2013-11-19 16:14:40 -05:00
Lioncash 53ab104d5f [Android] Expand the input binding UI in the settings to handle 4 Gamecube controllers in the future.
Other changes:

 - Broke out MotionAlertDialog into it's own separate class.
 - Made a preference specifically for handling input bindings.
2013-11-19 15:53:30 -05:00
Ryan Houdek ae11fba069 [Android] Make joysticks less dumb from a configuration standpoint. 2013-11-18 14:48:08 -06:00
Lioncash ee32c8b4e9 [Android] Remove accidental fragment tag in GameListActivity (it was useless, since it's an empty string) 2013-11-16 15:17:37 -05:00
Lioncash 11a156615f [Android] Like the previous commit (but for the GameListFragment), don't constantly create a new adapter when filling the game list. 2013-11-16 05:30:58 -05:00
Lioncash d98664b053 [Android] Simplify the FolderBrowserAdapter a little, as well as the Fill method within FolderBrowser.java. Previously the fill method would create an entire new adapter and assign it to the backing ListView. This is pretty unnecessary, so what it now does is, when the function is called, it clears out the adapter, then simply fills it in again with the new directory's contents. Simple, and doesn't require a reference to the actual ListView to be used. 2013-11-16 04:36:22 -05:00
Lioncash c8ddc70c97 [Android] Simplify the AboutFragment view inflating. Considering the backing layout is a direct ListView, the original rootView can just be casted to a ListView, no need for an intermediate. 2013-11-16 04:09:30 -05:00
Lioncash 94f8c68a35 [Android] Use the ViewHolder design pattern for the FolderBrowserAdapter. In directories with a lot of files, this should be noticeably smoother in terms of scrolling. Also fixed the case where the subtitle text might disappear. 2013-11-16 03:56:58 -05:00
Lioncash c90ce1aad1 [Android] Change the name of the XML layout file gamelist_folderbrowser_list.xml to gamelist_folderbrowser_list_item.xml. More accurate name on what it is. 2013-11-16 03:31:02 -05:00
Lioncash 21a196f9af [Android] Eliminate the need to hold a reference to the shown Fragment within GameListActivity. Now we only care about the numeric ID of the one being shown. 2013-11-16 03:09:07 -05:00
Lioncash 777b5a109b [Android] Fix the handling of orientation changes for the Fragments related to the game list. Now screen orientation changes don't kick you back to the root view. 2013-11-16 01:48:17 -05:00
Lioncash 23c84c220f [Android] Add ability to take screenshots into the emulation menu. 2013-11-15 22:21:50 -05:00
Ryan Houdek 15bb974224 [Android] Add screenshot nativelibrary function. 2013-11-15 17:32:50 -06:00
Ryan Houdek 0720026dab [Android] Disable the workaround for Qualcomm devices with driver >= 53 for the rotated framebuffer since it is fixed now. 2013-11-15 16:56:21 -06:00
Lioncash 483a28f34a [Android] Simplify the AboutFragmentAdapter a little bit.
- Removes an unnecessary variable.
- Shortens the LayoutInflater usage.
- Gets rid of an unnecessary override of onAttach.
2013-11-15 17:19:09 -05:00
Lioncash 8c7d1afd5f [Android] Externalize the device compatibility warning strings. 2013-11-15 17:05:56 -05:00
Lioncash 4bb22aa0ab [Android] Indicate whether or not the device supports NEON within the About fragment. 2013-11-15 16:48:36 -05:00
Lioncash d3731d0827 [Android] Get rid of some unnecessary variables in the getView() methods of some adapters.
Directly referencing convertView is fine.
2013-11-15 16:32:52 -05:00
Ryan Houdek 0e415467c4 [Android] Spawn a message if someone's phone doesn't support NEON. NEON is a requirement for Dolphin Mobile on ARM, CPU core will crash without it. 2013-11-15 14:17:47 -06:00
Lioncash 07765aa6f0 [Android] Documentation and some cleanup. 2013-11-15 12:26:17 -05:00
Ryan Houdek 1e90a838f2 Make sure to add our resources for the joystick. 2013-11-14 15:20:44 -06:00
Ryan Houdek feedee5c23 [Android-overlay] Support touch screen axises in native. Have a non-configurable main joystick on screen at this point. 2013-11-14 15:18:33 -06:00
Lioncash 9d3d568ae4 [Android] Bump the targetSdkVersion in the AndroidManifest XML file to 19 (KitKat). Nothing we do would require compatibility behaviors to be enabled to maintain forward compatibility. 2013-11-14 11:01:44 -05:00
Lioncash f15a0c17d0 [Android] Get rid of some unnecessary onAttach overrides in AboutFragment, VideoSettingsFragment, and FolderBrowser. These can just be replaced with calls to getActivity(). 2013-11-14 10:45:45 -05:00
Ryan Houdek 2a23bdde6f Merge branch 'master' into android-new-control-input-overlay
Conflicts:
	Source/Core/DolphinWX/Src/Android/ButtonManager.h
2013-11-13 16:17:42 -06:00
Ryan Houdek 0f061e4e7c [Android] Do /not/ give users the benefit of the doubt that the device supports OpenGL ES 3 when we can't grab an OpenGL context. The only devices that fail to do so is PowerVR5 and we can't run with them anyway. 2013-10-31 07:30:18 -05:00
Ryan Houdek 58d42f43e3 [Android] Fix PCH build. Clean up DolphinWX cmake file a little bit. Modify our android cmake toolchain file to make the default build location not be source root, because that is stupid. 2013-10-28 19:59:03 -05:00
Lioncash 3c7613fc83 [Android] More cleanup. We don't need the preference to enable/disable the overlay in the video preferences anymore. 2013-10-28 16:36:26 -04:00
Lioncash 4e999fe0ee [Android] General cleanup.
We no longer need the buttons in Assets, considering they are now resources (ie. drawables).

Also remove (now) junk code from VideoSettingsFragment.java. We handle the input overlay within the InputSettingsFragment.

Also add a TODO detailing what needs to be refactored when axis support is finally added.
2013-10-27 22:15:49 -04:00
Lioncash d1834b3058 [Android] Overlay now works during emulation. 2013-10-27 22:08:41 -04:00
Ryan Houdek c24dfe559b [Android] Change how the onTouchEvent native method works. Just pass in the correct Button ID and Action and it'll be pressed or not. Not actually rigged up to the Java code yet. Doesn't support anything with an Axis yet so no C stick, main stick, L and R triggers 2013-10-26 05:36:20 -05:00
Lioncash c3e4aa1f35 [Android] Add the copyright header to some Java source files that were lacking them. 2013-10-26 01:06:00 -04:00
Lioncash c78d5a9751 [Android] Improve an if statement check in InputConfigFragment.java. Also clarify it. 2013-10-26 00:59:53 -04:00
Lioncash 8d71a83ae5 [Android] Fix the super-mature string that was a placeholder for the title for the overlay configuration setting.
Also fix a NullPointerException possibility. Fixed it by giving the PreferenceScreen a title.
2013-10-26 00:55:07 -04:00
Lioncash 77eb9ce725 [Android] Add the capability to dynamically enable and disable the input overlay during emulation. 2013-10-25 23:10:17 -04:00
Lioncash d9be95ed9e [Android] Fix alignment issues with the overlay config settings. 2013-10-25 21:29:06 -04:00
Lioncash 7c6caa388a [Android] Prevent automatic alignments within the overlay configuration settings. Let the user do this on their own. 2013-10-25 21:14:11 -04:00
Lioncash c1ed54832c [Android] Maintain the chosen button layout when returning to the input overlay configuration menu.
- Also make the overlay configuration screen fullscreen for the app.

- Also force the overlay activity to be landscape, since this is the only orientation the EmulationActivity supports.
2013-10-25 21:05:42 -04:00
Lioncash c8cf71c913 [Android] The emulation overlay now sets the button positions based upon the locations chosen in the input overlay configuration settings. Documented the hell out of how the initialization of the Drawables works inside InputOverlay.java.
Also made the use of InputOverlayItem.java obsolete. So this is now removed.
2013-10-25 20:34:38 -04:00
Lioncash 88c797a9c0 [Android] Slight cleanup for previous commit. Mostly UI adjustments.
Makes the buttons appear uniformly on the overlay config activity.
2013-10-25 17:39:23 -04:00
Lioncash 9f36081a8f [Android] Implement a very basic version of the input overlay configuration screen.
Still a bit of a mess, but this will get cleaned up during finalizations.
2013-10-25 16:52:46 -04:00
Lioncash 1267877e80 [Android] Documentation typo cleanups from the last commit.
Also cleaned up the Javadoc for the constructor of MotionAlertDialog.
2013-10-24 15:10:25 -04:00
Lioncash 079147ca07 [Android] Refactor InputConfigFragment a little bit in preparation for the implementation of the new input overlay.
This moves all of the dialog handling into the actual MotionAlertDialog class itself. This is something I should have done a long time ago.
Also moved the Gamecube input binding preferences into their own PreferenceScreen.
2013-10-24 14:55:10 -04:00
Ryan Houdek 187827624f [Android] 0.12 release. 2013-10-21 12:09:15 -05:00
Lioncash 2015cd0928 [Android] Implement OnSharedPreferenceChangeListener within PrefsActivity.java. This allows us to immediately save to the ini config when a preference in the front-end is changed, rather than waiting for the settings window to close. This also allows us to remove handling for preferences from CPUSettingsFragment.java and VideoSettingsFragment.java. 2013-10-13 22:20:34 -04:00
lioncash 615bac7ebc [Android] Replace the getter for the adapter backing the GameListFragment with a function that simply clears the array adapter. Maintains encapsulation this way. Simplified the actual setting of the backing ArrayAdapter for GameListFragment; this allows us to make a class variable a method variable now.
Also fixed up the Javadoc for the OnGameListZeroListener.
2013-10-10 17:08:46 -04:00
Lioncash 511de71736 [Android] Actually show the currently selected CPU core and video backend within the settings screen. 2013-10-10 11:57:18 -04:00
Lioncash 8b6ff7a358 Revert "{Android] Eliminate need for even using a byte array when copying assets over."
Turns out Android devs decided to opt for one of the most retarded ways of handling assets. Assets with some specific extensions are not compressed (png, jpeg, etc), and anything else is compressed. The AssetManager is so revolutionary, that you actually can't retrieve valid FileChannel descriptors from these compressed files! To add to this revolutionary system, they actually didn't give you a straightforward way of disabling this compression. Now using FileChannels are not possible, and thus we must use the much slower way of copying everything over. Thank you Android devs. Godforbid someone would like to use a non-array based way of copying things that's actually efficient, considering DMA access is possible with FileChannels.

This reverts commit 0dd32986b8.
2013-10-10 00:11:33 -04:00
Ryan Houdek 715d5ae8a7 Merge branch 'JitArmIL'
This implements a partial JITIL based off of the JIT64IL. It's enough to run most games, albiet at a slow speed.
Implementing instructions for this IL is really simple since it basically is just enabling based on what is already in JIT64IL, and then enabling each individual IL instruction.
2013-10-09 23:16:07 +00:00
Ryan Houdek ba9f2d52e1 Add the JITIL Arm recompiler to the Android settings. 2013-10-09 23:08:12 +00:00
Lioncash 0dd32986b8 {Android] Eliminate need for even using a byte array when copying assets over. 2013-10-09 12:35:12 -04:00
Lioncash a317391e3d [Android] Change the names of the functions responsible for loading/saving config values in UserPreferences.java. Makes readability better, since they have names that actually go with each other now. LoadIniToPrefs() and SavePrefsToIni(). 2013-10-08 19:08:06 -04:00
Lioncash efac4bc608 [Android] Rephrase a comment in VideoSettingsFragment.java. 2013-10-08 18:45:10 -04:00
Lioncash fb4cc76b11 [Android] Remove unnecessary equals comparison in VideoSettingsFragment.java in function SupportsGLES3(). contains() can handle this situation. 2013-10-07 19:50:50 -04:00
Ryan Houdek a40daac5b1 [Android] Fix an issue where emulation would crash if we couldn't retrieve GPU information. Also if we can't get the graphics information, give them the benefit of the doubt and enable the GLES3 option. 2013-10-06 21:32:05 -05:00
Lioncash cf1b634c33 [Android] Remove unnecessary attributes from the ViewPager layout XML file. 2013-10-06 20:04:53 -04:00
Lioncash 5bee29c7c2 [Android] Reflect the string change in the Tegra 4 support commit with the JP strings as well. 2013-10-06 10:45:05 -04:00
Ryan Houdek 6bdcde9dd6 [Android] Tegra 4 'support.' This brings up the OpenGL backend to support Tegra 4 to the point where it will run games but it doesn't have any video output for some reason. This is a large change that doesn't actually change much functionally. Walking through the changes.
It changes the string in the Android backend select to just OpenGL ES.
Adds a check in the Android code to check for Tegra 4 and to enable the option to select the OpenGL ES backend.
Adds a DriverDetails bug under BUG_ISTEGRA as a blanket case of Tegra 4 support.
The changes that effects most lines in this change. Removing all float suffixes in the pixel/vertex/util shaders since OpenGL ES 2 doesn't support float suffixes.
Disables the shaders for reinterpreting the EFB format since Tegra 4 doesn't support integers.
Changes GLFunctions.cpp to grab the correct Tegra extension functions.
Readds the GLSL 1.2 'hacks' as GLSLES2 'hacks' since they are required for GLSL ES 2
Adds a GLSLES2 to the GLSL_VERSION enum.
Disable the SamplerCache on Tegra since Tegra doesn't support samplers...
Enable glBufferSubData on Tegra since it is the only mobile GPU to correctly work with it.
Disable glDrawRangeElements on Tegra since it doesn't support it, This uses glDrawElements instead.
2013-10-06 03:12:29 -05:00
Lioncash da46da17dc [Android] Make sure to change the title accordingly when coming back from the folder browser. 2013-10-02 22:55:16 -04:00
Lioncash 8dfc752780 [Android] Simplify LayoutInflater retrieval within GameListAdapter, FolderBrowserAdapter, and SideMenuAdapter.
Also added Javadoc to SideMenuAdapter. Gave the context variables a full spelling as well.
2013-10-02 22:42:43 -04:00
Lioncash 4e08a6cc8d [Android] Simplify a string retrieval in FolderBrowserAdapter.
Also remove an unnecessary import from EmulationActivity.java. This should have been removed in the previous commit.
2013-10-02 22:31:17 -04:00
Lioncash c517b7fe7e [Android] Simplify call for getting the WindowManager instance within EmulationActivity. 2013-10-02 21:59:09 -04:00
Lioncash b1268bfcd2 [Android] General documentation cleanup and additions. Adjusts the documentation to conform to the multitude of changes that have been made over time.
Very minor code changes were made as well (of which were mostly for formatting). Such as adding override annotations to methods from the Comparable interface, so that they are clearly marked as such.
2013-10-02 15:28:02 -04:00
Lioncash cd6a863eec [Android] Make the GameListFragment extend a ListFragment instead of a Fragment. This allows us to simplify behavior a little by eliminating the need for an AdapterView. Now we just override "onListClick" and achieve the same result. 2013-10-01 21:43:27 -04:00
lioncash 16fb0b04d8 [Android] Externalize how the formatting is used in the file size string, the file clicked string, and the current dir string. 2013-10-01 10:32:05 -04:00
lioncash 80a4cbdbb4 [Android] Add xxhdpi versions of the file icon and the folder icon used in the folder browser. 2013-10-01 10:05:17 -04:00
lioncash ca177539b6 [Android] Add correct density-sized images of the navigation drawer icon. Now all icons are density-specific. 2013-10-01 09:53:47 -04:00
lioncash c3c1afcc09 [Android] Explicitly specify the allowBackup attribute in the manifest.
It's considered good practice to specify it, so why not?

Basically it allows the application to be backed up or restored via ADB.
2013-10-01 09:31:02 -04:00
lioncash cb9ff3d9f8 [Android] Remove an unnecessary method override from GameListActivity.java. We don't actually do anything different from the default behavior of this method, so we don't need to explicitly define it.
This method is intended to be used for modifying the contents of a menu before displaying it. We don't really have a need for this, since it doesn't need to be modified.
2013-10-01 09:18:17 -04:00
Lioncash 1c4c00d171 [Android] Return true upon displaying the exit confirmations dialog in EmulationActivity.java. Now multiple games can be launched like normal. Previously it was returning false. 2013-09-27 18:17:29 -04:00
Lioncash 69d2ecff52 Simplify SwitchPage() within GameListActivity.java. We no longer need the first switch statement, since case 0 will be hit when SwitchPage(0) is called from the folder browser. This means we can also get rid of recreateFragment(), since the only time this needs to be called is within the onCreate() function. When SwitchPage(0) is called, SwitchPage will perform basically the same actions as recreateFragment() would; thus the reason it can be removed. 2013-09-27 17:16:59 -04:00
Lioncash 689aca2788 [Android] Remove commented out code within EmulationActivity.java. Since the back button handling has a specific purpose, this is no longer needed. 2013-09-26 23:40:39 -04:00
Lioncash f6a8733660 [Android] Tiny inline documentation cleanup. 2013-09-26 23:32:41 -04:00
Lioncash 8aba748735 [Android] Fix a situation within the FolderBrowser where the application would crash. listFiles() returns null when either the File object it's called on isn't a directory or if an I/O error happens (in their infinite wisdom, they actually thought NOT throwing an exception was a cool way to handle this. How about that?). In the case of trying to access system directories as a normal user, an I/O error will occur due to permission access rights. This fixes that. 2013-09-26 23:06:10 -04:00
Lioncash d903983564 [Android] Move EmulationActivity.java and NativeGLSurfaceView.java into a new sub-package called emulation. Now, all that's kept within the base package is the main class, the native calling class, etc. 2013-09-23 07:14:51 -04:00
Ryan Houdek 96a77f9feb [Android] Fix the ability to stop the game and start another. 2013-09-23 01:43:18 -05:00
Ryan Houdek bab91494d5 Merge branch 'master' into android-core-control 2013-09-23 00:47:57 -05:00
Ryan Houdek 1da6469c62 [Android] Use new 4.0 icon. 2013-09-23 00:25:34 -05:00
Lioncash af7ed820f5 [Android] Add a JP version of the string for FSAA. Also correct the English string too. 2013-09-22 19:16:32 -04:00
Ryan Houdek bdae5d1027 [Android] Fix typo, FSAA stands for full scene antialiasing. 2013-09-22 11:59:10 -05:00
Ryan Houdek 6340ad68be Merge branch 'GLES3-FSAA' 2013-09-22 10:00:51 -05:00
Ryan Houdek 81effb8099 [Android] Add in FSAA option. 2013-09-22 09:25:38 -05:00
Pierre Bourdon 1f95a294cd Add the new 'Clean' themes from MaJoR and default to Clean by changing the name of the config key (yes, hack) 2013-09-22 16:00:56 +02:00
Lioncash 49fff7979b [Android] Make the FolderBrowser extend a ListFragment instead of a regular fragment. Lets us get rid of the need for an AdapterView.OnItemClickListener when handling list item clicks. Simplifies the implementation of the FolderBrowser a tiny bit. 2013-09-18 22:17:23 -04:00
Ryan Houdek 24a44ecfb8 [ANDROID] Add two new DriverDetails bugs for Adreno. V45 of the driver has broken shader compilation with UBOs in the shaders, this is most likely fixed with V53 found in the Nexus 5. Add a bug for issue surrounding on screentext and doing a glClear after swap causes screen swizzling and zero frames rendered respectively. On the Java side, pass in the dimensions of the screen swapped since there is an issue with Adreno where it rotates the output 90 degrees for some reason. Disable the GLSL shader cache on Android for now due to the inability to cleanly exit the emulator, this tends to cause the cache to get corrupted. All this together fixes rendering with Adreno 3xx GPUs with driver version v14 and above. In particular my Galaxy S4 still resets with this without the root commands, but my HTC Droid DNA and LG G2 is fine. This must be due to particular 'enhancements' that the Samsung kernel has over the other ones. The speed on Adreno has yet to be optimized, so it will most likely be slow still. Faster than the software rasterizer in any case. The ARMJIT is still broken in at this point, so not much fun can be had. 2013-09-18 02:37:10 -05:00
Lioncash db7f8697ba [Android] Use a simpler "startActivity()" call in DolphinEmulator.java. Turns out the other one isn't 4.0 compatible, but actually only 4.1 and up. Also, in this case, we really don't actually care about the saved instance state bundle. 2013-09-18 01:57:01 -04:00
Lioncash 988544389a [Android] Slightly change the layout of the AboutFragment. Looks more like an actual list view now. 2013-09-16 22:04:59 -04:00
Lioncash b4883e2ada [Android] Make the AboutFragment extend the ListFragment, since this is basically what this fragment acts as. Much more descriptive than simply extending Fragment.
Also made the list non-clickable, since it isn't supposed to be interacted with.
2013-09-16 21:04:58 -04:00
Lioncash 449cd3b267 [Android] No need to use startActivityForResult in DolphinEmulator.java any more. Just some leftover stuff from the big refactor. 2013-09-15 22:11:17 -04:00
Lioncash 5a0f0b908e [Android] Fix the name of the parameters in some unused interface methods.
There are some interface methods that are simply stubbed for the time being. It would be better to give the parameters better names despite not being used.
2013-09-15 14:34:30 -04:00
Pierre Bourdon c3eec379df Move global User/Wii to Sys/Wii 2013-09-14 06:08:30 +02:00
Ryan Houdek 751fae4965 [Android] Make sure the default config file has fastmem disabled. 2013-09-13 21:17:40 -05:00
Lioncash 7a15159c34 [Android] Explicitly set the defaults for the CPU settings. 2013-09-13 00:29:59 -04:00
Lioncash 0490d7d59c [Android] JP strings for the Fastmem option. 2013-09-13 00:24:06 -04:00
Ryan Houdek ba05db7828 [Android] Add a fastmem option to the cpu options, default disabled. 2013-09-12 23:08:00 -05:00
lioncash 84db868187 [Android] Android uppercases the name of the tabs in the settings by default. So we don't have to call ".toUpperCase" in the string returns in getPageTitle(). 2013-09-10 11:21:13 -04:00
lioncash 8ceb72612a [Android] Kick the targetSdkVersion in the AndroidManifest XML file to 18. Since this app basically works on 4.x.x, we don't need to make compatibility modes kick in for anything above 4.0.0.
Also very minor cleanup to the XML.
2013-09-10 09:29:05 -04:00
lioncash ce5f80b151 [Android] Give the exceptions in compareTo implementations in GameListItem and FolderBrowserItem some messages. If the exceptions ever actually get thrown, at least you're given a reason as to why the exception was thrown now. Also changed the exception type to NullPointerException. IllegalArgumentException is intended to be used for validating the parameters in constructors/methods. 2013-09-10 08:32:11 -04:00
Lioncash a3ef35a1bf [Android] Fix a bug where the video backend would not load correctly. 2013-09-09 22:38:09 -04:00
Lioncash f382a53500 [Android] Organize the list of allowed file extensions for the folder browser and game list alphabetically.
Keeps things nice and sorted.
2013-09-08 17:52:26 -04:00
Lioncash c306dafe44 [Android] Simplify some checks within the the folder browser in regards to checking if a file is hidden or not. Also potentially fixed the case where items in the game list would not remain saved to the config. 2013-09-08 16:45:37 -04:00
Lioncash f753b9ae97 [Android] Show the full text for save and load states if there's room on the screen. If not, let it overflow into a context menu. 2013-09-07 19:19:28 -04:00
Lioncash cc054b9da3 [Android] Make the MotionAlertDialog private. This isn't needed to be protected anymore. The only reason it was protected was for when the input settings were coupled as all hell to the GameListActivity (lol). Also documented the interface method within it. 2013-09-07 18:51:15 -04:00
Lioncash 86d10ec19e [Android] Fix the input binding string.
Forgot a period at the end. Thanks for pointing that out pauldachz
2013-09-07 06:19:24 -04:00
Lioncash 10eb9f09b4 [Android] Change a check for an empty path from !path.equals("") to !path.isEmpty() in GameListItem.
Also simplify the logging exception tag in the constructor.
2013-09-04 08:02:32 -04:00
Lioncash b94a462fca [Android] Remove the compareTo implementation from SideMenuItem. We don't perform any operations that require it. 2013-09-04 07:43:56 -04:00
Lioncash 38304a7e42 [Android] Simplify the JP settings labels. 2013-09-04 07:36:28 -04:00
Lioncash 48cda9d26f [Android] Display the name of the control that is being bound in the input settings. Makes the binding description more informative. 2013-09-04 07:32:28 -04:00
Lioncash a83d4e7226 [Android] Correct a typo for the load state menu root in the menu overlay XML. Should be "loadStateRoot", not "loadtateRoot" 2013-09-04 07:19:02 -04:00
Lioncash a7c2b27a6a [Android] Remove unused strings from the resource XML files. 2013-09-04 07:09:29 -04:00
Lioncash bdc04f9119 [Android] Change the exception logging in NativeLibrary to be an error instead of a warning.
Technically not having the required library should be regarded as an error, since the app won't even load without it.

Also changed the logging tag in FolderBrowser.
2013-09-04 06:46:11 -04:00
Lioncash 70cfe96492 [Android] Fix an accidental call to the wrong method in the superclass of EmulationActivity. Should have been returning "super.onMenuItemSelected(itemId, item)" instead of "super.onOptionsItemSelected(item)". 2013-09-03 17:25:45 -04:00
Lioncash 4f72671d32 [Android] Change the documentation of the FolderBrowser class. We don't show invalid items anymore. 2013-09-03 07:05:02 -04:00
Lioncash e198e201e4 [Android] Fix the video settings from crashing the app. Was broke in the commit "Removal of my terrible idea"
https://code.google.com/p/dolphin-emu/source/detail?r=2897619ddbd3e3aae8427fc503647c65e770d466

Didn't comment out the line for that preference in the XML. This is disabled for now until the UI overlay for the buttons are implemented directly into the Java front-end.
2013-09-02 11:00:22 -04:00
Ryan Houdek 2897619ddb Removal of my terrible idea. 2013-09-02 05:31:48 -05:00
Lioncash d41eb76378 [Android] Fix the last commit. On-screen control drawing wouldn't re-enable upon flipping video backends. 2013-09-01 20:36:47 -04:00
Lioncash acf3bd8697 [Android] On-screen controls work for Software Renderer, but not the OpenGL ES 3 video backend yet. Enabled it for Software Rendering and disabled it for Open GL ES 3. 2013-09-01 20:31:45 -04:00
Lioncash d84312c799 Merge branch 'master' of https://code.google.com/p/dolphin-emu into android-core-control 2013-09-01 15:24:29 -04:00
Lioncash c092c65d4a [Android] Disable most video preferences if Software Rendering is chosen. Since the software renderer and other renderers have little in common, it doesn't make sense to keep many of the video preferences enabled. 2013-09-01 15:20:15 -04:00
Lioncash 440ae412b0 [Android] Add the option to show the on-screen FPS counter. 2013-09-01 03:07:16 -04:00
Lioncash 51c814f34e [Android] Removed the unnecessary MainActivity generics declaration in the DolphinEmulator class. It's unused (and likely won't be used). 2013-08-30 15:47:04 -04:00
Lioncash c633c2bb13 [Android] Some various cleanups. Also make some class variables final.
Localize some variables as well, and clean up an import.
2013-08-30 15:31:25 -04:00
Lioncash fae0c860f6 [Android] Woops forgot a JP TL of a UI string. 2013-08-29 22:56:40 -04:00
Lioncash cf96bfc2be [Android] Add a button in the emulation view that allows a person to exit emulation and go back to the game list.
However, this does not work correctly yet. It will stop correctly. But the SurfaceView will not render the next game selected.
2013-08-29 22:52:09 -04:00
Lioncash 90918cdb84 [Android] Remove garbage loggers for when I was debugging why the overlay buttons wouldn't work. 2013-08-29 21:09:38 -04:00
Lioncash dac9659c58 [Android] Preliminary save-state support. Have the UI set up. Crashes with SIGABRT however. 2013-08-29 21:07:17 -04:00
Lioncash b5d5296250 [Android] Accidentally enabled screen rotation in the emulator window. Disabled it. 2013-08-29 19:09:56 -04:00
Ryan Houdek 96394da1c2 [Android] Let NativeLibrary handle initial folder structure creation. 2013-08-29 18:07:32 -05:00
Ryan Houdek 957c263367 [Android] Add save state native functions. 2013-08-29 17:47:50 -05:00
Ryan Houdek 1dcede4d56 [Android] Stop the play store from overwriting buildbot builds. 2013-08-29 22:28:23 +00:00
Lioncash 5a749cc7ca [Android] The back button now toggles the visibility of the action bar in the emulation window. This can be used in the future to implement the overlay for save states and other things. 2013-08-29 18:26:45 -04:00
Lioncash aeec249626 [Android] Decouple the emulation processes from the Main activity. Moved them into their own activity called EmulationActivity. 2013-08-29 17:21:17 -04:00
Lioncash 335839b27f [Android] Move the instantiation of the NativeGLSurfaceView into a layout file. This will allow the addition of other components in the future, such as overlays, etc. 2013-08-29 13:13:44 -04:00
Lioncash 01764fef67 [Android] Forgot to make the AboutFragmentAdapter class 'final' 2013-08-29 12:45:40 -04:00
Lioncash 8fd2c32ba6 [Android] Decouple the About fragment from the FolderBrowserAdapter. Now it uses its own independent adapter (I have no idea why this wasn't done in the first place). 2013-08-29 12:40:35 -04:00
Lioncash 93ed4adb02 [Android] Use the same layout for the game list and the folder browser. Since the UI layouts are exactly the same. 2013-08-29 12:16:29 -04:00
Lioncash 64b83a18b2 [Android] Simplify the line divider for the folder browser and game list. Turns out someone disabled it in the list view initially. No more custom implementation now. 2013-08-29 12:06:31 -04:00
Lioncash c5a886100c [Android] Some minor formatting styling.
Remove unnecessary this statements.
2013-08-28 20:31:37 -04:00
Lioncash ea671d639c [Android] Simplify the onItemClick listener for the GameListAdapter in GameListFragment. There is no need to evaluate whether or not an item is a folder, since folders cannot be added in the first place. Probably some leftover code I forgot to remove. 2013-08-28 18:23:32 -04:00
lioncash d4840565a9 [Android] Fix the position of a logcat logging statement. If, for whatever reason, the event parameter is null, then the previous placement would have caused an exception. 2013-08-28 08:21:09 -04:00
lioncash 8ca3ed13de [Android] Clean up AboutFragment's onAttach method. 2013-08-28 08:15:00 -04:00
Matthew Parlane 2a68b65cda Merge branch 'master' into wii-network 2013-08-28 00:57:37 +12:00
Lioncash 4a863c88b4 [Android] Simplify onAttach for CPUSettingsFragment and VideoSettingsFragment 2013-08-27 04:06:18 -04:00
Lioncash 76f20cca59 [Android] Remove the documentation of a parameter in GameListItem that was removed a while ago. 2013-08-27 04:01:20 -04:00
Ryan Houdek d83dffe442 [Android] Add wad file support. 2013-08-26 12:19:47 -05:00
Lioncash 670b028492 [Android] Remove the explicit key event listener from InputConfigFragment. The AlertDialog class has a key listener built into it.
Also documented the methods/interfaces in MotionAlertDialog.
2013-08-26 13:19:06 -04:00
Lioncash e12c66b6cf [Android] Only dismiss the input dialog when an input is registered. Before it would dismiss upon the first event. Fixes a bug where control sticks wouldn't register because of the AlertDialog closing immediately after the "if (firstEvent)" branch. 2013-08-26 12:56:35 -04:00
Lioncash ba274368f8 [Android] Make the dialog variable in InputConfigFragment a local variable in onPreferenceTreeClick. With the new input UI, this doesn't need to be accessible to other classes.
Also change the documentation of the custom dialog class.
2013-08-26 11:58:51 -04:00
Lioncash 08153387c5 [Android] Greatly simplify the input handling for the button mapping settings. Now input handling is directly in the fragment. 2013-08-26 08:57:52 -04:00
Lioncash 07ea771012 [Android] Finish documenting the native functions in NativeLibrary.java. 2013-08-26 08:06:28 -04:00
Lioncash db355b21d2 [Android] My bad, somehow the Java file in the previous commit got encoded with UTF8+BOM. 2013-08-25 23:57:53 -04:00
Lioncash 9dfb6dfd7f [Android] Fixed a typo in the event callback system documentation. 2013-08-25 23:49:51 -04:00
Lioncash 786f09b1fa [Android] Document the event callback system used in the Settings menu in large detail. 2013-08-25 23:47:51 -04:00
Matthew Parlane 15f8603d1f Merge branch 'master' into wii-network
Conflicts:
	Source/Core/Common/Src/CommonPaths.h
	Source/Core/Common/Src/FileUtil.cpp
2013-08-26 00:50:57 +00:00
Lioncash 28008814a7 [Android] Apparently I also forgot to commit the input menu layout. 2013-08-25 03:16:05 -04:00
Lioncash 6c0c460320 [Android] Woops forgot to commit the new resource strings. 2013-08-25 03:13:00 -04:00
Lioncash 709ab1feb5 [Android] Initial implementation of the new input UI.
Testing may be further required. But it should work for the most part.
2013-08-25 03:10:32 -04:00
Lioncash 2017ab9323 Revert "[Android] First french translation. "
This reverts commit d2481aa477.
2013-08-24 09:50:02 -04:00
Lioncash 31ea87d705 Revert "[Android] Added 2nd file for French translation. "
This breaks the Android UI. 'translatable="false"' is there for a reason."
This reverts commit 5d9700a303.
2013-08-24 09:43:21 -04:00
pascal.jouy 5d9700a303 [Android] Added 2nd file for French translation.
(Sorry, I didn't find how to upload 2 files at the same time in Google Code)
2013-08-24 13:37:42 +00:00
pascal.jouy d2481aa477 [Android] First french translation.
Can't try it as I don't have any Android device. Any feedback appreciated.
If misplaced, please fix it.
2013-08-24 13:36:18 +00:00
Lioncash a90e82d2c0 [Android] Invalidate the options menu upon switching fragments. This hides the 'clear game list' option faster when switching fragment. Also fixes a rare bug where the option might not even redraw when returning to the game list. 2013-08-24 09:19:40 -04:00
Lioncash 528a733359 [Android] Don't create a new GCMPath entry in the Dolphin config if it another existing GCMPath entry already has the same directory path.
Also, fix a 'bug' with the clear all items function. Make sure we set GCMPathes to 0, so that GCMPath entries start adding at GCMPath0 again.

This change also allows me to remove the duplicate checking code from GameListFragment, since the items in the game list are loaded based on the GCMEntries in the Dolphin config.
2013-08-24 09:12:17 -04:00
Lioncash 857ce47de2 [Android] Add the license header to Java files that were missing it. 2013-08-24 08:23:23 -04:00
Matthew Parlane 5548e77438 Merge branch 'master' into wii-network 2013-08-24 23:56:31 +12:00
Matthew Parlane 6907a32653 Fix android, part 3 of 3. >:) 2013-08-24 23:49:50 +12:00
Lioncash 66c50ebf19 [Android] Better description for the dual core option. 2013-08-24 07:37:28 -04:00
Lioncash 6df36ec687 [Android] Forgot to commit the menu layout XML when I implemented the option to clear the game list. 2013-08-23 16:17:02 -04:00
Lioncash 7f61c31f85 [Android] Fix some redundancy in the category names for the settings menu. In a menu named "Settings" (which is shown in the top left) we have the categories, "CPU Settings" and "Video Settings" - but the fact they are settings pages is already established at this point so it's redundant. Just made them "CPU" and "Video" instead.
Also changed the description for dual-core

They now look like this: http://i.imgur.com/qieaKmL.png
2013-08-23 16:10:55 -04:00
Lioncash 1469342f83 [Android] Add an option to clear the game list. 2013-08-23 11:17:24 -04:00
Lioncash c2aef25f4c [Android] Since we don't show invalid filetypes in the file browser anymore, there's no need to check if a file is valid or not since they're all valid now. 2013-08-23 10:26:15 -04:00
Lioncash 70dab0d839 [Android] Document most of the native functions in NativeLibrary.java. 2013-08-23 10:15:36 -04:00
Lioncash 654b0dbfa8 [Android] Fix the removal of duplicate items from the gamelist.
This should have initially been a nested loop since it now guarantees every item in the list is checked.

Also, removed some unused code and documented some things.
2013-08-23 09:50:00 -04:00
Lioncash d9485cbf23 [Android] Only show valid files in the file browser. 2013-08-23 00:18:01 -04:00
Lioncash 41c25d0c90 [Android] General cleanup. Add more documentation.
Remove some accidental changes that slipped through. Don't want to have input settings in the settings menu just yet.
2013-08-22 08:18:56 -04:00
Lioncash 951bbcd6ce [Android] Change the .settings file to target Java 1.6 instead of 1.5. 2013-08-22 07:39:11 -04:00
Lioncash 779f02d9a5 [Android] Turns out the sidebar XML could also be simplified. 2013-08-22 07:02:30 -04:00
Lioncash 0c5f3953dd [Android] Simplify the XML layout for the about menu. Remove unused strings. 2013-08-22 06:58:19 -04:00
Lioncash c2bab4edd4 [Android] Remove fragments from the Android Manifest XML. These shouldn't be defined here (nor do they need to. They're fragments, not activities). 2013-08-22 03:53:39 -04:00
Lioncash 7c99b0650b [Android] Format all Java files to be consistent. 2013-08-22 03:43:07 -04:00
Lioncash f09cafb2be [Android] Make the previous commit parlane approved in terms of boolean conditions. 2013-08-22 02:57:31 -04:00
Lioncash 988c168c2d [Android] Fix a bug in FolderBrowser.java which was causing an incomplete directory structure to show. 2013-08-22 02:52:05 -04:00
Lioncash 85c78759c7 [Android] Make two class variables in InputConfigFragment private. If left the way they were, they could be accessed by other classes in its package, which is not intended. 2013-08-21 21:27:32 -04:00
Lioncash 97bfa6300d Remove unused code from InputConfigFragment. This was for when the option to draw onscreen controls was in this menu instead of video preferences. 2013-08-21 21:10:23 -04:00
Lioncash ca23318089 [Android] Fixed a bug where the config files might not load correctly upon launch. If the initial files existed, it wouldn't load the configs. This fixes that.
If the files don't exist they will be copied (in the previous block) and everything will be fine.
2013-08-21 16:02:43 -04:00
Ryan Houdek 8b291b6b57 [Android] Allow users to be able to choose where they want the APK installed. 2013-08-21 14:35:31 -05:00
Ryan Houdek fbd0fba13a [Android] Fix preferences from crashing. OSD controls was supposed to be boolean. 2013-08-21 00:06:48 -05:00
Lioncash 53df78d372 [Android] Missed a string for the Japanese translation. 2013-08-20 20:48:43 -04:00
Lioncash e52c2ac337 [Android] Migrate the "Draw Onscreen Controls" preference to the video settings. 2013-08-20 20:28:48 -04:00
Lioncash 9170c9b360 [Android] Remove unnecessary string messages from CPUSettingsFragment and VideoSettingsFragment. 2013-08-20 19:57:00 -04:00
Lioncash 00996c8d38 [Android] Implement a ViewPager for the settings. Also, move classes into appropriate packages to make things cleaner. 2013-08-20 19:39:00 -04:00
Ryan Houdek 0521b6aa69 [Android] Hopefully fix buildbot's ant build. 2013-08-20 15:41:11 -05:00
Lioncash 8de3250550 [Android] Load all of the new settings from the ini when the app is launched.
- Also fix a typo in the ini saving method in UserPreferences. Accidentally spelt the ini name wrong.
- Also include the relocated XML preferences. I meant to push this with the previous commit.
2013-08-20 15:35:16 -04:00
Lioncash 3fdfd75832 [Android] Add most of the Dolphin video/gfx settings to the settings menu. 2013-08-20 14:33:30 -04:00
Lioncash dd35156717 [Android] Forgot to document the new parameter used in SaveConfigToDolphinIni() in the last change. Fixed that. 2013-08-19 22:37:04 -04:00
Lioncash 9595457e1c [Android] Turn SaveConfigToDolphinIni() into a static method. Now saving settings to the ini config just uses one call in PrefsFragment.onDestroy(). 2013-08-19 22:34:27 -04:00
Lioncash 6dbfdce775 [Android] Remove the loading toast messages from the UI. These really don't need to be here since the things they were used for took very, very little time to load. 2013-08-19 22:09:43 -04:00
Lioncash 8dc0b38f00 [Android] Decouple Dolphin.ini config file saving from GameListActivity. It doesn't make sense to save the config AFTER control is returned from PrefsFragment to GameListActivity, since the main purpose of PrefsFragment is to handle the user settings. So, instead, we call SaveConfigToDolphinIni() in the PrefsFragment.onDestroy() method. This way, when the PrefsFragment object is being 'destroyed', it will write the settings to the ini. 2013-08-19 21:56:13 -04:00
Lioncash a87b967cde [Android] Simplify saving settings to the ini file. Since the setting names are known, there's no reason to loop through them.
This will likely be simplified further very soon.
2013-08-19 20:55:50 -04:00
Lioncash 77a5af3bcf [Android] Change the settings menu a little more. Instead of the settings being a single view with settings from all components being displayed, I have broken it into sections. This future-proofs the settings menu in the sense that it won't get cluttered before people start asking "Hey, shouldn't this be broken into sections?".
As of this commit, it is broken into CPU Settings and Video Settings.
I also simplified the code that is responsible for setting the valid CPU cores and video backends by simply making UI string arrays that get chosen, based on the platform the Android device is running on.
2013-08-19 19:10:13 -04:00
Lioncash 205ebbebbb [Android] Catch a more specific exception type (UnsatisfiedLinkError) when trying to load the main native Dolphin 'library'.
Also made the logging tag more specific.

It's generally bad to catch Exception because it's not very specific for the person reading the code. It doesn't say why that exception might have happened, it just indicates it's possible for an Exception to happen, which is quite general.
2013-08-18 18:30:13 -04:00
Lioncash 803b7ae991 [Android] Make the banners display a little larger. Now they don't look like tiny icons in the game list. 2013-08-17 22:51:35 -04:00
Ryan Houdek ba76b016da [Android] Fix Wii games. 2013-08-17 19:41:28 -05:00
Lioncash 07d729daa2 [Android] Prevent duplicate duplicate items from being in the game list at one time.
Previously it was possible for a game with the same path and name to be in the list as another. This is annoying because duplicates ae (obviously) no different from the initial item.

This prevents duplicates from entering the list.

The way this works is:

1. We get the final list of items to add to the list.

2. Loop through it using two indices, which, for this explanation I'll call [item] and [itemAfter]

We compare path name at item with index [item] and the path name at item with index [itemAfter]
To phrase this numerically comparison works like so:

for (int i = 0; i < listSize; i++)
{
    if (i+1 < listSize)
        item[i].getPath().equals(item[i+1].getPath())
}

3. For each path comparison that is true, remove item at [indexNext].
2013-08-17 14:28:50 -04:00
Lioncash a9d634086c [Android] Change the Game List items to be formatted similarly to how the folder browser is. Also ensure the 'no banner' icon scales down to the same size as the other banners. 2013-08-17 13:25:40 -04:00
Lioncash 1f6c63f1d8 [Android] Ensure that required dependencies are actually exported along with everything else when the Android version builds. Without this, the support libs will not export and cause the emulator to crash upon being executed. 2013-08-17 12:26:43 -04:00
Lioncash 88f79a14db [Android] Simplify if statement conditions for the item click listener in FolderBrowser.java.
Since FolderBrowserItems have an 'isDirectory()' method, that's all we need to care about now. There's no need to check subtitles to determine if an item is a directory anymore.
2013-08-17 11:03:02 -04:00
Lioncash 9149b30237 [Android] Shorten FolderBrowserItem's method 'isValidItem()' into 'isValid()' makes more sense and less redundancy in terms of 'item.isValidItem()' -> 'item.isValid()' 2013-08-17 10:55:13 -04:00
Lioncash 5047eeb263 [Android] FolderBrowserItem objects don't need to store a context.
Removed the requirement to pass a context in the constructors.
Also cleaned out unnecessary imports.
2013-08-17 10:50:31 -04:00
Lioncash 82e9bed20e [Android] Fix a bug where the name would display incorrectly in the game list.
Completely missed the 'this.' on the variable. My bad.
2013-08-15 20:34:05 -04:00
Lioncash 072fac4a74 [Android] Remove a redundant LinearLayout in one of the layout files. 2013-08-14 20:49:26 -04:00
Lioncash 3e6f9d22db [Android] Add a faint divider line between each folder browser item.
See here for how it looks: http://i.imgur.com/CGX9NTt.png
2013-08-14 20:43:29 -04:00
Lioncash 9c27fedd6d [Android] Remove the subtitles on all folders in the folder browser. No need to have the subtitle "Folder" when it's visibly indicated by the icon of a folder next to it.
Now it looks like this: http://i.imgur.com/CbUSqgg.png
2013-08-14 19:49:39 -04:00
Lioncash 94397a44cc [Android] General formatting clean-up.
Made some class variables final, since they should convey that they cannot be changed after the first assignment.
Made the formatting consistent between files.
2013-08-14 15:03:07 -04:00
Lioncash 6f1612d99c [Android] Fix the gamepad settings view inflation.
In some cases, it would fail to inflate correctly in the sense that it would only show the binding status and not the name of the actual control that was being binded.
2013-08-14 14:33:47 -04:00
Lioncash 39eeb37032 [Android] Correct the accessibility scope of a method and variable in InputConfigFragment.java.
Also, join a variable's declaration and assignment in the onMotionEvent() function.

If no explicit accessibility term (private, protected, public, etc) is given, then the permission level is set to something called 'package-private' which means it is set to the scope of the whole package. So technically any class could have access to this method and variable, which is likely not what we want.
2013-08-14 07:33:17 -04:00
Lioncash 0142efbb2a [Android] Add 'final' to all of the class declarations.
This prevents inheritance of the classes (will throw a compiler error if you try and extend any of the classes).
This is mainly syntactical sugar and form. Nothing major.
2013-08-14 07:17:45 -04:00
Lioncash 3cc8f7747e [Android] Main title text for the file browser items are bolded again. Must have removed it accidentally during the previous large refactor. 2013-08-13 14:32:46 -04:00
Lioncash 53bf55b1e9 [Android] Make the file browser look much more nice and user friendly to use.
This is what it now looks like: http://i.imgur.com/KOZgA1i.png

As usual, if any bugs arise from this rather large change. Please report it so I can fix it.
2013-08-13 13:05:42 -04:00
Lioncash 8fbf11a0d9 [Android] Add translatable="false" to the names of the string arrays in prefvalues.xml. 2013-08-13 12:10:42 -04:00
Lioncash a8fcd50cd7 [Android] Integer.toString isn't required in this string declaration. Concatenation handles this.
For example: "string" + 1 will just be concatenated as "string1" implicitly.
2013-08-13 10:09:42 -04:00
Lioncash debd5b42cf [Android] Clean up function SupportsGLES3 in PrefsFragment.java a little bit. 2013-08-13 09:48:18 -04:00
Lioncash 2015484c24 [Android] Some tiny cleanups in DolphinEmulator.java
- Join variable declaration and assignments in function onTouchEvent()
- Change a for-loop into a foreach loop in dispatchGenericMotionEvent(). Makes the loop body a single statement.
2013-08-13 09:23:11 -04:00
Lioncash 0916d0797c Simplify asset copying code a little bit in DolphinEmulator.java
Since the directories are already cached (with smaller variable names), use these instead so we can shorten the length of each line.
2013-08-13 09:13:46 -04:00
Lioncash e3617a55a0 [Android] Clean up the function CopyAsset in DolphinEmulator.java.
[streamtype].flush() is called when [streamtype].close() is called.

No need to null the references either after calling close(), the garbage collection will take care of it.
2013-08-13 08:58:50 -04:00
Lioncash 2d7244f6d5 [Android] Change the name of a variable in FolderBrowser.java to better reflect its purpose
Compressed file formats are not valid, so it's best to rename this to invalidExts.
2013-08-13 08:50:21 -04:00
Lioncash b823983199 [Android] Multi-language support (or at least the basic foundation of it).
Added an example translation (Japanese). So now the Android version can both display in English and Japanese, depending on what the Android device's system language is set to.

Also did a tiny clean-up of InputConfigItem.java so that the parameters are slightly more descriptive.

Now, to do a translation in [x] language, all you have to do is take the normal English strings.xml and translate the XML entries into said language, and simply make a folder in the /res/ sub-directory in the form of values-[region code]. IE) With the Japanese translation, it is in the folder /res/values-ja

No configuration other than that is needed. After doing the above, the language should load fine on any device when set to that specific system language.

By default, if a translation file does not exist for a given system language. The app will automatically fall back to using the English translation.

This *should* be bug-free since I did check everything multiple times. But if any issues occur, please report them so that I can fix them.
2013-08-12 21:22:20 -04:00
Lioncash 3b272d81b4 [Android] Use a HashMap in PrefsFragment.java instead of two CharSequence arrays.
This way, we hold the [key|value] pairs together in one object and reduce overall code clutter.
2013-08-12 19:41:23 -04:00
Lioncash 00b034f991 [Android] Seems like InputConfigFragment.java also had explicit list indexing. Removed it from here too. 2013-08-12 15:32:52 -04:00
Lioncash 68e12407a5 [Android] Remove unnecessary explicit indexing of entries in a List within AboutFragment.java
Indexes are handled internally within a List object.
2013-08-12 15:16:15 -04:00
Ryan Houdek 958590beaa [Android] Fix OpenGL ES 3 detection on Nexus 10. Nexus 10 defaults to GLES1 context when not specified while Adreno defaults to GLES2. Thanks to Jeremy D Miller for noticing and finding out why this was failing. 2013-08-12 04:44:08 -05:00
Ryan Houdek 5d38a9c91e [Android] Some minor cleanup. 2013-07-27 15:09:33 -05:00
Ryan Houdek 952aa714fd [Android] Another check for OpenGL ES 3. 2013-07-26 21:07:17 -05:00
Ryan Houdek 4deea2bcae Revert "[Android] Use equals to compare GL version string instead of contains. This should really be some sort of sscanf check so we can check if version > 3.0 but we'll worry about that when OpenGL ES 4.0 is released."
This reverts commit bc58e7f42f.
2013-07-25 19:35:01 +00:00
Ryan Houdek bc58e7f42f [Android] Use equals to compare GL version string instead of contains. This should really be some sort of sscanf check so we can check if version > 3.0 but we'll worry about that when OpenGL ES 4.0 is released. 2013-07-25 18:45:40 +00:00
lioncash 2e92e3814e [Android] Tiny cleanup regarding method indentation in GameListAdapter.
getItem() and getView were a little off-kilter with the rest of the class. Keeps things more consistent, etc.
2013-07-18 09:00:20 -04:00
Ryan Houdek a1b9a4dc5e [Android] Oops. Keep the screenOrientation setting to landscape. 2013-07-16 09:08:41 -05:00
Ryan Houdek bd6218685f [Android] Folder Browser a fragment as well. Removes the menu item for selected path, because it was just a confusing mechanic anyway. People just tap on the ISO in the browser anyway. 2013-07-16 06:59:07 -05:00
Ryan Houdek d1baa8edd9 [Android] Change input configuration to a fragment. 2013-07-16 06:30:50 -05:00
Ryan Houdek ee26564c65 [Android] In the About pane, show if the phone supports OpenGL ES 3. Makes it less confusing for users. 2013-07-16 05:43:45 -05:00
Ryan Houdek 023922cd5b [Android] Start making it so the side pane is visible on all activities by converting them to fragments. Only Browse Folder and Gamepad Config remain. Fix a issue that Lioncash introduced where no games would show up in the folder browser or the game list. 2013-07-16 05:32:14 -05:00
Ryan Houdek fbd67325a6 [Android] If one wants to use Android Studio. They can import the folder themselves. 2013-07-16 03:47:45 -05:00
lioncash c35916a3e5 Add .dff FIFO logs to the list of valid extensions in FolderBrowser. 2013-07-15 10:01:04 -04:00
lioncash 0ba2594339 Use HashSets in FolderBrowser as well, like the last commit for GameListFragment.
Should have originally done this with the first refactor. My bad.
2013-07-15 09:58:54 -04:00
lioncash 13f30d1d1d [Android] Simplify GameListFragment.Fill a little bit.
Made the filtering check against a HashSet of specified supported extensions.
Not only does this get rid of the multitude of checks for extensions in the if-statement, but it also makes for less typing in the future if new file extensions/formats are used. Simply add the extension to support to the set, and you're done.
2013-07-15 09:35:45 -04:00
lioncash 4e8c3b2f12 [Android] Make FolderBrowser.Fill look slightly nicer. Improve readability a bit.
- Added a basic function description.

- Modified the main parameter to be more informative of what should be passed. Helps people who read the codebase for the first time.

- Made a variable for storing the entry name so getName() isn't called a bunch of times.

- Added some comments to explain some parts.

- Rename the exception catch variable to ignored, since it currently isn't being used.
2013-07-15 09:16:20 -04:00
Ryan Houdek c86480d082 [Android] Fix a null pointer exception. 2013-07-14 16:31:47 -05:00
Ryan Houdek ea146627e6 [Android] Enable OpenGL ES 3 by default. Add in a modified GLES3/gl3.h header for supporting it. 2013-07-13 18:42:04 -05:00
Ryan Houdek 737df2a68c Patch from Degasus that removes the last of the the GL_TEXTURE_RECTANGLE usages. This is needed to have GLES3 support. 2013-07-13 17:24:23 -05:00
Ryan Houdek 95d4dc92c1 [Android] Show the OpenGL ES 3 backend video option only on devices that support it. 2013-07-11 11:22:02 -05:00
Ryan Houdek e1f641424d [Android] Show JIT cores based on host arch. 2013-07-11 10:18:03 -05:00
Ryan Houdek 33ca010115 [Android] Derp Squad. Show compressed files in the browse folder dialog. Show in red text and if one clicks on it. Say we don't support compressed file formats. 2013-07-11 03:57:24 -05:00
Pierre Bourdon 22c80e1dc2 Fix ICC profiles in some of our PNGs (ic_drawer, Dolphin icon).
Also keep a PNG version of bin2c'd resources in order to make these kind of
changes easier in the future.

Fixes recent versions of libpng complaining loudly about our images.
2013-07-07 02:40:59 +02:00
Ryan Houdek cdfd7905a0 [Android] Copy over DSP roms and font assets on build and first runs. 2013-07-05 19:18:33 -05:00
Ryan Houdek c19858ca87 [Android] Instead of wiping shared preferences, set the default values so the settings are actually selected when going in to the settings menu. 2013-07-05 18:49:59 -05:00
Ryan Houdek a610cdac8b [Android] Fix Android 4.0 gamepad input. 2013-07-05 06:29:01 -05:00
Ryan Houdek 72257d5f69 [Android] Support clicking on games in the folder browser to add the folder currently in. Mostly for derps that keep trying to run the game from the folder browser. 2013-06-27 04:47:39 -05:00
Ryan Houdek 0037acbbaa [Android] Actually copy Dolphin.ini correctly... 2013-06-26 05:32:56 -05:00
Ryan Houdek 06d721984d [Android] Make the navigation drawer not so blindingly dark. 2013-06-26 04:58:34 -05:00
Ryan Houdek fc0f347cea [Android] Open the navigation drawer by clicking on the button. Woops, didn't realize that gmail did this as well. 2013-06-25 14:36:52 -05:00
Ryan Houdek 143d2eccb4 [Android] Open drawer if there isn't anything in the game list, instead of on first run. 2013-06-24 12:17:31 -05:00
Ryan Houdek 5f91998302 [Android] Add default Android config file 2013-06-24 01:42:35 -05:00
Ryan Houdek 852698ceef [Android] On first run, open up the navigation drawer so people realize that there is a drawer. 2013-06-24 01:42:35 -05:00
Ryan Houdek ae395639b0 [Android] Fix drawing on screen control setting being derpy at times. 2013-06-24 01:42:34 -05:00
Ryan Houdek 06b98225e7 [Android] 0.6 Release 2013-06-24 01:42:34 -05:00
Ryan Houdek 6bb7cc5fea [Android] Add an about screen that shows build revision. 2013-06-22 22:54:36 -05:00
Ryan Houdek d86185ca54 [Android] Fix ant build? 2013-06-22 08:06:39 -05:00
Ryan Houdek 2b9f79dff3 [Android] Remove SimonVT menudrawer library. Move to Google's support library for their navigation drawer support. Overall cleanup. 2013-06-22 07:45:05 -05:00
Ryan Houdek 02cbcc8ec4 [Android] When running OpenGL ES 3 backend, we've got to switch the screen coordinates or bad things happen. Adds a Driver bug that causes swap every single flush. Hard requirement currently to see /anything/ on screen. 2013-06-18 12:44:06 -05:00
Ryan Houdek 7223778520 [Android] Gamepad input. Refactor JNI native functions to all pull from a single class instead of everywhere willy-nilly 2013-06-18 07:09:38 -05:00
Ryan Houdek 3ddd24872b Merge branch 'GLES3'
Conflicts:
	Source/Android/.idea/workspace.xml
2013-06-12 03:29:18 -05:00
Ryan Houdek e4a3919a2b [Android] 0.5 Release. 2013-06-12 03:11:59 -05:00
Ryan Houdek baf16a72b6 [Android] Back to enforcing ICS or above limitation. Tired of this nonsense. 2013-06-11 08:45:31 -05:00
Ryan Houdek 703a51e4c0 [Android] Start of *working* GLES3 support. Needs to be able to compile in Windows still. 2013-06-11 08:33:56 -05:00
Ryan Houdek 1bea76a6e0 [Android] Remove artificial limitation to not leave the sdcard directory in the folder browser as well. 2013-06-11 08:25:15 -05:00
Ryan Houdek fcf86f112a [Android] Remove artificial limitation to not leave the sdcard directory. Keep screen on while running. 2013-06-11 08:24:23 -05:00
Ryan Houdek f06fc78814 [Android] Properly open the navigation drawer when pressing menu or back in the game list. 2013-05-26 22:29:40 -05:00
Ryan Houdek 0bd8aaf9d4 [Android] 0.3 Release 2013-05-25 23:16:47 -05:00
Ryan Houdek 4a3bbf6165 [Android] Drop minimum Android version support to 2.3 since there is a /bunch/ of people asking for it. 2013-05-25 23:00:30 -05:00
Ryan Houdek 92bea77e56 [Android] Disable OpenGL in the settings menu since it doesn't work yet. Change some theme settings so the back button shows up on screen where needed. 2013-05-25 22:20:34 -05:00
Ryan Houdek 2effab9a9f [Android] Make it less stupid to add a folder to the search list. Now just hit the menu button and select 'Add current folder' 2013-05-22 05:29:47 -05:00
Ryan Houdek f8a5d05c07 [Android] Redo the Settings menu, Can now change the CPU Core, dual core setting, and video backend in the settings" 2013-05-20 02:59:12 -05:00
Ryan Houdek 252edb942d [Android] Beginning of setting menu, doesn't do anything yet. 2013-05-19 05:25:02 -05:00
Ryan Houdek 10018cfe9a [Android] Add in the Android Studio project files so one can use Android Studio instead of ADT. 2013-05-18 04:04:07 -05:00
Ryan Houdek c30d00e904 [Android] Support DFF files in the interface. 2013-05-17 21:13:02 -05:00
Ryan Houdek b2d3dc8a68 [Android] Allow the user to select multiple browse paths. 2013-05-05 23:37:01 -05:00
Ryan Houdek 87331fcef5 Change Android project name to dolphin emulator 2013-04-24 09:00:14 -05:00
Lioncash 9ee3a30878 Remove something that slipped through the last commit.
Don't even know why that was there.
2013-04-24 09:55:12 -04:00
Lioncash bd284f1468 [Android] WINDOW_SERVICE should be accessed statically.
(it's a static final variable in the Context class, so... yeah).
2013-04-24 09:48:11 -04:00
Ryan Houdek 1b76655312 Missed a few asset copies 2013-04-23 14:27:50 -05:00
Ryan Houdek bd72e13dd4 Generally make the Android UI better. 2013-04-23 14:27:49 -05:00
Ryan Houdek 0973d503ef Fix making the config directory so copying over assets won't fail. 2013-04-20 12:11:58 -05:00
Ryan Houdek b47915d1e4 Enforce landscape view since rotations cause huge issues atm. 2013-04-19 09:44:38 -05:00
Ryan Houdek bf5a046b82 Update the ant files to build the APK from terminal 2013-04-18 23:26:00 -05:00
Ryan Houdek b429cb86aa Update AndroidManifest to v0.2 2013-04-18 22:53:13 -05:00
Lioncash a44fb7bdd0 Android Related - A tiny simplification/readability change for NativeListView.
In this case, contains functions pretty much the same way, just more readable.
2013-04-15 00:52:43 -04:00
Ryan Houdek 44bbb54a62 Add a Androind ControllerInterface class for allowing input in a non-hacky way. Add a default GCPad.ini file so it actually works. 2013-04-14 23:02:53 -05:00
Ryan Houdek bde7ea00ef Removes the Java ButtonManager for one in the C++ source so the OSD class can call in to it each frame for drawing the buttons. Copy our assets to the dolphin-emu directory for now. Remove NativeRenderer, ButtonManager, and Button Java classes since they aren't used anymore. Buttons A, B, and Start all work and are drawn on screen now. Button input on Android is still a bit hacky, needs a proper controller interface still. Android specific button drawing code is still hanging out in SWRenderer.cpp 2013-04-14 20:39:56 -05:00
Ryan Houdek 24347e5176 Get latest android cmake to support NDK 8e 2013-04-13 15:09:05 -05:00
Ryan Houdek 7034c79ab9 Big commit. Fix running the APK, I had missed a view in the manifest. Clean up the Android EGL context creation to fit more in line with how Dolphin works. This breaks input at the moment as well. Change the memarena from 768MB to 64MB to allow 1GB phones to potentially run it. Rename EGL_X11 back to EGL since this merge brings in some of soreau's changes to more easily allow different platforms like Wayland and Android. Not quite all of the code because some needs to be cleaned up still. 2013-03-24 21:06:34 -05:00
Ryan Houdek d11679a06e Android mega commit of trash. 2013-03-19 21:53:09 -05:00