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