Commit Graph

696 Commits

Author SHA1 Message Date
Ryan Houdek 7c4e6c7eb9 [Android] Make sure we are setting the default user directory.
This fixes an issue where the settings aren't being saved correctly because the user directory is never set before a run of the game.
2015-06-13 08:37:56 -05:00
Ryan Houdek 467f351f79 [Android] Remove dialog telling individuals that their drivers are terrible.
There aren't any AArch64 devices with v14 Qualcomm drivers. So it is dead code.
2015-06-13 08:18:42 -05:00
Jeffrey Pfau 7e36166374 Android: Allow git and cmake locations to be overridden 2015-06-13 03:54:37 -07:00
Jeffrey Pfau fff657a7da Android: Allow NDK location to be overridden 2015-06-12 19:59:25 -07:00
sigmabeta 5d5fc88a70 Android: Persist previously-set controller bindings on the Settings menu. 2015-06-09 10:31:15 -04:00
sigmabeta b7dcbdbf57 Android: Database improvements - remove non-existent games & folders. 2015-06-08 20:27:12 -04:00
sigmabeta d56f27857b Android: Don't remove input configuration related files from old UI. 2015-06-08 20:07:43 -04:00
Eder Bastos 6f3279d627 Android: Remove old UI references from manifest, and set the new UI Activity's title to "Dolphin Emulator' 2015-06-08 19:43:10 -04:00
Eder Bastos dbdc8121f0 Android: Require Android 5.0. 2015-06-08 19:43:10 -04:00
Eder Bastos f197b5e7d5 Android: Remove the old UI. 2015-06-08 19:43:07 -04:00
Ryan Houdek a91c152b86 Merge pull request #2572 from sigmabeta/android-show-version
Android: Show the version name as a subtitle in the GameGridActivity.
2015-06-08 19:37:33 -04:00
sigmabeta 1f07473f1f Android: Show filenames for games with an empty title. 2015-06-08 19:23:04 -04:00
sigmabeta f80f4bb542 Android: Show the version name as a subtitle in the GameGridActivity. 2015-06-08 18:07:26 -04:00
Ryan Houdek 21b1d143bc Merge pull request #2566 from sigmabeta/android-tv-back
Android TV: Show the in-game menu when back button is pushed.
2015-06-08 04:02:22 -04:00
Ryan Houdek 59e2225f7d Remove ARMv7 support. 2015-06-07 22:44:13 -05:00
Ryan Houdek 51b440fbcf Merge pull request #2449 from sigmabeta/android-decouple-surfaceview
\Android: Decouple SurfaceView initialization and emulation start.
2015-06-07 23:18:56 -04:00
Ryan Houdek 9521bc1fc6 Merge pull request #2558 from sigmabeta/android-panic-alerts
Android: Display Panic Alerts on-screen as a Toast message.
2015-06-07 23:14:34 -04:00
sigmabeta a97e9addf0 Android: Show the in-game menu when back button is pushed. 2015-06-07 23:11:34 -04:00
sigmabeta 8c843d98b6 Android: Add refresh library function. 2015-06-07 21:15:28 -04:00
sigmabeta 36d051d3f9 Android: Run AssetCopyService only once. 2015-06-07 20:42:30 -04:00
sigmabeta 3038368128 Android: Display Panic Alerts on-screen as an Android Toast message. 2015-06-07 20:13:52 -04:00
sigmabeta e04778f9eb Android: Allow compilation using Android NDK r10e. 2015-06-07 13:36:59 -04:00
sigmabeta 51cad1025c Android TV: File Dolphin under "Games" on the TV Launcher 2015-06-05 16:26:49 -04:00
Eder Bastos 920a85b846 Android TV: Add TV banner + some metadata. 2015-06-03 19:42:15 -04:00
Eder Bastos b14bea8544 Android TV: Allow the app to be launched from an Android TV launcher. 2015-06-03 16:48:38 -04:00
Eder Bastos ed39876cb0 Android TV: Make file selector screen usable with d-pads 2015-06-01 16:42:54 -04:00
Ryan Houdek d789d8d75f [Android] Add support for panic alerts to the JNI. 2015-05-25 22:13:00 -05:00
Ryan Houdek 0c5f5c4519 Merge pull request #2394 from Sonicadvance1/android_block_profiling_api
[Android] Block profiling JNI interface
2015-05-25 23:06:37 -04:00
Tillmann Karras cefcb0ace9 Update license headers to GPLv2+ 2015-05-25 13:22:31 +02:00
Eder Bastos 4faff3cf62 Android: Decouple SurfaceView initialization and emulation start. 2015-05-24 19:40:11 -04:00
Eder Bastos fe8d9e5a38 Android: Upgrade to newest Build-Tools version. 2015-05-22 17:14:28 -04:00
Eder Bastos 140826edd5 Android: Have build.gradle figure out what ABI and Toolchain to use. 2015-05-22 17:13:25 -04:00
Eder Bastos 286af8be50 Android: Implement new EmulationActivity. 2015-05-21 20:14:03 -04:00
Eder Bastos 3e5e352fee Android: Implement an SQLite database-based game library. 2015-05-20 19:55:55 -04:00
Eder Bastos 4f6a5e0293 Android: Make floating action buttons use the correct accent color programmatically. 2015-05-20 19:46:48 -04:00
Eder Bastos 91c1c0b1b3 Android: Add SQLiteDatabase interface class. 2015-05-20 19:46:28 -04:00
Eder Bastos 5b0c047e0b Android: Remove inheritance from Game model, and improve the relevance of its content 2015-05-20 19:46:19 -04:00
Eder Bastos 4c786cb70c Android: Implement reading country value from game files. 2015-05-20 19:44:31 -04:00
Lioncash 12493c332c Merge pull request #2420 from sigmabeta/android-native-gradle-build
Android: Allow building of native code inside Android Studio / Gradle
2015-05-20 19:31:30 -04:00
Eder Bastos 4cded65320 Android: No longer require specification of NDK or Git paths in build.gradle. 2015-05-19 09:05:35 -04:00
Eder Bastos 9c19d91e18 Android: Allow building of native libraries inside Android Studio / Gradle 2015-05-18 21:20:43 -04:00
Eder Bastos ba591ea1ee Android: Add Settings Activity to new UI. 2015-05-15 10:45:00 -04:00
Eder Bastos bb7f8c6753 Move AssetCopyService to the services package. 2015-05-14 20:44:52 -04:00
Eder Bastos 4710c3e0eb Android: Build separate APKs for each native platform. 2015-05-13 22:45:12 -04:00
Eder Bastos c75378bb45 Android: Put GCPadNew.ini back into the repository. 2015-05-12 19:12:21 -04:00
Eder Bastos 0fa0e55e2c Android: Fix a possible crash in the file browser if attempting to show a file with no extension. 2015-05-12 09:18:29 -04:00
Eder Bastos 06b7b20e5f Android: Scale number of columns in game grid according to screen width. 2015-05-11 17:06:54 -04:00
Eder Bastos f3aec526b1 Add an IntelliJ settings file describing the Dolphin project code style. 2015-05-11 11:16:56 -04:00
Ryan Houdek a36dc19d9b Add JNI interface for enabling writing block profile results. 2015-05-10 20:03:34 -05:00
Eder Bastos abaf41baa7 Add a subtitle to AddDirectoryActivity containing the currently displayed folder's path. 2015-05-10 17:28:45 -04:00
Eder Bastos ca4bec3539 Don't show "Error" when a blank string is returned from a native method. 2015-05-10 10:46:46 -04:00
Eder Bastos 3f1465196c Add touch feedback to GameGridActivity and AddDirectoryActivity. 2015-05-10 10:30:09 -04:00
Eder Bastos 24c6be9d0f Add File Browser screen to new UI. 2015-05-09 12:36:17 -04:00
Eder Bastos 700225f8c8 Add floating action button to GameGridActivity. 2015-05-08 19:57:44 -04:00
Eder Bastos a4395ecd75 Have Picasso load images into memory at the size they will be displayed. 2015-05-08 19:56:25 -04:00
Eder Bastos b47835fc07 Implement first few screens of Android 5.0-based UI. 2015-05-07 22:27:42 -04:00
Eder Bastos 2fe4b9ce68 Remove the "nativeLibsToJar" gradle task. 2015-05-05 22:34:56 -04:00
Eder Bastos c80225ea4d Convert the Android source code to the directory structure of a Gradle-based Android Studio project. 2015-05-02 21:49:17 -04:00
Ryan Houdek c2b2e03f73 [Android] Support arguments from Activity Monitor.
Activity Monitor can start activities by using adb to invoke it.
This will allow us to set the user directory and autostart file from adb.

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

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

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

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

Also fixed various country filters not showing up as options in the "Show regions" menu.
2014-11-18 19:44:16 -05:00
Lioncash b1c06fdd19 Merge pull request #1563 from lioncash/ui
Android: Use a PagerTabStrip instead of the ActionBar.
2014-11-17 13:57:00 -05:00
Lioncash b94dbca160 Host: Kill off GetRenderWindowSize 2014-11-17 13:44:49 -05:00
Lioncash 5396a48d70 Android: Use a PagerTabStrip instead of the ActionBar.
The ActionBar method of doing the tabular layout is deprecated on Android 5.0.
This method alleviates those deprecations while providing the same functionality.
2014-11-16 21:18:08 -05:00
Lioncash 7d8248e24f Android: Remove unused imports in GameListItem 2014-11-15 01:45:13 -05:00
Lioncash cc62cb8818 Android: Support RTL language translations
If someone wants to do a translation for an Arabic language, Hebrew, etc, it will now display correctly.
2014-11-15 01:45:12 -05:00
Lioncash 4d6bc39e2f AndroidManifest: Increment the minimum and target SDK values 2014-11-15 01:45:02 -05:00
Lioncash 5b1f734695 Android: Prevent instantiation of utility classes 2014-11-15 01:40:30 -05:00
Lioncash 4fe8bb1ca7 Android: Compress an if statement in FolderBrowser 2014-11-15 01:40:29 -05:00
Ryan Houdek 1c41acaddd Merge pull request #1264 from Stevoisiak/GCM-to-ISO
Gcm to iso
2014-11-02 11:29:41 -06:00
Stevoisiak d937c072a5 Updated android GCM references to ISO 2014-11-02 12:22:36 -05:00
Ryan Houdek 5dbfadaeaa Enables EFB copies by default on Android.
I was mistaken and only changed one line previously which didn't enable them by default.
This changes the default configuration to enable EFB copies and EFB to texture.
2014-10-30 07:43:14 -05:00
Ryan Houdek ceb08acf23 Fix a crash on Android when unplugging a controller during emulation.
If the action we are getting is a ACTION_CANCEL, it means that the "gesture" is aborted and we shouldn't perform any more actions on it.
2014-10-18 07:33:51 -05:00
Lioncash 053f5c1f17 Android: Use apply() instead of commit() for SharedPreference changes.
apply() changes the in-memory instance of SharedPreferences and writes to the disk asynchronously, rather than synchronously, which commit() does. Since these are done on the UI thread, they should be asynchronous.
2014-10-08 23:12:25 -04:00
Sean Maas 17f0fdb18f [Android] Return to game list instead of exiting app 2014-10-08 22:28:18 -04:00
Ryan Houdek e18860830a Show OpenGL or OpenGL ES on Android depending on what the device supports.
Reduces confusion for the users
2014-09-19 09:21:16 -05:00
Ryan Houdek 707d21e36b Fix a few minor bugs that appeared in the latest android cmake script 2014-09-07 23:18:43 -05:00
shuffle2 60a772c5e8 Merge pull request #901 from Sonicadvance1/64bit-android-cmake
Update the android cmake toolchain file to support 64bit.
2014-09-03 00:09:03 -07:00
Ryan Houdek fc92490031 Merge pull request #902 from Sonicadvance1/android-64bit-support
Update shown CPU cores in the Android UI.
2014-08-28 18:20:35 -05:00
Ryan Houdek 5bf9472214 Update shown CPU cores in the Android UI.
Only show the JIT cores on x86_64(Will have its own issues once we reach that point)
Show AArch64 JIT if running on a AArch64 device(Good luck with that for now. Future proofing though)
2014-08-28 18:00:32 -05:00
Ryan Houdek b197f44518 Update build.gradle to newer buildtools.
Newer android studio versions now mandate at least build tools 20.0.0 and gradle 0.12+
So update the gradle file for this.
2014-08-28 17:21:48 -05:00
Ryan Houdek 0d63dd5e53 Update the android cmake toolchain file to support 64bit.
This is available in a PR here: https://github.com/taka-no-me/android-cmake/pull/23
The maintainer of the android toolchain cmake file seems to be AWOL for now.
I have tested this file personally and it works, it just isn't merged in yet
2014-08-28 16:57:48 -05:00
Tony Wasserka 99dc069b9a Merge pull request #597 from sigmabeta/android-studio-gitignore
[Android] Add a bunch of gradle/AS related stuff to gitignore.
2014-08-04 12:06:29 +02:00
Ryan Houdek 3627bd21f1 Remove JitArmIL files from the project.
Due to how the new CR-flags work, it isn't possible without some hefty work in the JITIL backend to support this on 32bit systems.
2014-07-30 21:41:17 -07:00
Eder Bastos 33f848c78c Add a bunch of gradle/AS related stuff to gitignore. 2014-07-30 22:27:38 -04:00
Sean 304d9ccd58 [Android] Enable filtering onscreen buttons 2014-07-16 20:29:10 -04:00
Lioncash 30e4366d28 Merge pull request #580 from SeannyM/smaller-b
[Android] User configurable input overlay scaling
2014-07-16 19:04:35 -04:00
Sean cd9a0b6f4d [Android] Onscreen controls better resemble GC and user configurable scaling 2014-07-15 16:14:27 -04:00
Eder Bastos 36821cb117 Display file size in GiB instead of bytes. 2014-07-14 21:52:52 -04:00
Eder Bastos 0170050cad Use the "No Banner" graphic as a Drawable resource, instead of as an asset. 2014-07-14 21:34:44 -04:00
Eder Bastos 94b1eeaf6f Move first-execution copying of shaders / binaries to an IntentService. 2014-07-09 07:56:27 -04:00
Lioncash 5c7ed205a9 Android: Remove an unnecessary getString call from EmulationActivity 2014-07-05 18:02:30 -04:00
Eder Bastos 53e4f3d73c Implement ViewHolder pattern on the GameListAdapter. 2014-06-24 23:03:38 -04:00
Eder Bastos 2c1008f0ae Allow user to quit app with back button. 2014-06-23 08:24:39 -04:00
Lioncash 8e2015b9cb Separate the XML view handling of the folder browser and the game list from one another. 2014-06-21 19:47:11 -04:00
Eder Bastos b940e69f3b Fix banner scaling in game list.
-In GameListAdapter.java, the existing scaling code is unnecessary and stops Android's built in scaling from doing its job.
-In gamelist...etc.xml, set the icon's width to 100 density-independent pixels (i.e. have android figure out how to make it the right size.)
2014-06-21 12:01:16 -04:00
Ryan Houdek d62ae92b8f Merge pull request #373 from sigmabeta/android-ui-cleanup
Soften up some of the UI elements on Android
2014-06-19 19:25:52 -05:00
Paul Olszewski 5d793881b0 Fix the capitalization of "GameCube" throughout the project. 2014-06-08 11:24:49 +09:00
Ryan Houdek 7dc31fbd1a Fix potential crash in Video Settings.
When Shaders folder didn't exist it would cause crash.
2014-06-02 17:57:23 -05:00
Sean 568f3248f3 Android: add multitouch support 2014-05-30 19:02:28 -04:00
shuffle2 d0201335c6 Merge pull request #300 from Sonicadvance1/Fix-AndroidInput
[Android] Fixes a bunch of input bugs.
2014-05-30 15:32:08 -07:00
Eder Bastos 5416dd24d7 Attach '.debug' to the end of the app's package name. This allows for installation of both debug and release configs on the same device. 2014-05-26 00:08:40 -04:00
Eder Bastos 8a288c7765 Increase size of title text; force it to take a single line and ellipsize if text doesn't fit. Also set both text fields to a slightly lighter color. 2014-05-23 18:47:43 -04:00
Eder Bastos 570cda3e39 Clarify that 'tools' attributes are only visible in the UI editor preview, and darken the game title text a little 2014-05-15 19:39:47 -04:00
Eder Bastos 08bb79ccb3 Soften up some of the UI elements. 2014-05-15 18:06:23 -04:00
Sean Maas 1da3a43698 Add japanese strings 2014-05-11 00:35:59 -04:00
Ryan Houdek 878740b43d Merge pull request #349 from Sonicadvance1/Android-Default-Config
[Android] Change default EFB copy method from disabled to texture.
2014-05-10 23:19:43 -05:00
Ryan Houdek aa30f5a6cb Change Android's default EFB configuration to texture instead of disabled. 2014-05-05 17:13:04 -05:00
Ryan Houdek 33bdc0f985 Adds support for the PP shaders in the Android UI.
Copies over the PP shaders to the APK's assets and installs them on run.
Exposes them via the video settings UI.

This is in anticipation of dropping the workaround for rotated blits on Adreno and instead forcing shader usage by the user.
2014-05-05 13:44:08 -05:00
Sean Maas 5865ae2d6f Add a comment about game list color 2014-04-27 20:03:30 -04:00
Sean be7f39445f Make the Android UI more like the desktop UI 2014-04-27 17:13:09 -04:00
Sean eef51fdde6 Android: Fix Scaled EFB Copy setting 2014-04-25 16:11:28 -04:00
Ryan Houdek e1bbda1e18 [Android] Fix a bunch of input bugs.
Looking at the old code for the ButtonManager was a brainfsck. This fixes a ton of bugs I kept uncovering as I was moving along.

Fixes the gamepad configuration file being incorrect.
No longer treats touchscreen in a special way. Ends up as a regular device with a "Touchscreen" device name.
Was incorrectly converting a index from integer to ButtonType. Wouldn't work due to the addition of some unused(in JNI) enumerators in ButtonType.
Fixes an issue where a map had a key as an axis which was causing its binding to be overwritten for every axis that was used twice (eg main stick left and right);
Fixes Triggers not working at all.
Fixes DPad not working at all.
Fixes C-Stick only half working.
Removes touch screen specific nativelibrary types onTouchAxisEvent and onTouchEvent.

Adds a configuration version configuration option. Allows easy configuration overwriting if the options need to be changed during updating.

Supersedes github PR #291.
2014-04-24 08:51:44 -05:00
Sean 4edb0a3134 Add braces 2014-04-22 19:40:03 -04:00
Sean c81ac090c9 Clarify code with comments 2014-04-22 18:34:16 -04:00
Sean f489e30cd8 Release button after touch leaves boundaries
Now, your finger can still move around, but as soon as it leaves the button boundaries the button is released.
2014-04-21 22:59:08 -04:00
Sean 72f3d69a78 Android: Allow finger movement while pressing button 2014-04-21 21:24:49 -04:00
Ryan Houdek 9849129b5d Merge pull request #199 from lioncash/defined-densities
Provide clearly defined densities of the controller icons.
2014-03-23 00:35:40 -05:00
Lioncash a35e1d42d9 Provide clearly defined densities of the controller icons. 2014-03-23 01:23:39 -04:00
Ryan Houdek b76351e2d3 Make configuring the onscreen controls less annoying.
Now instead of the top left corner of the button snapping to your finger.
Remember where we clicked on the button initially so it moves from the same location you touched.
This is more intuitive than before of course.
2014-03-22 23:32:46 -05:00
Lioncash 13c780d6a7 Fix two untranslated Japanese strings. 2014-03-22 22:42:29 -04:00
Lioncash 7922428dd7 Fix a call to a parent class method in InputOverlay.
Should have been a call to draw, not onDraw. Behavior-wise, it's still the
same however.
2014-03-22 22:41:42 -04:00
Ryan Houdek d85b8afe58 Pass our signing information to gradle by argument.
Changes from using environment variables that the world can see to arguments.
So we don't have to expose our keys and aliases to people
2014-03-22 07:33:18 -05:00
Ryan Houdek adaf095229 Fix building the release APK with gradle.
In release build all warnings are errors, and lint has some obnoxious warnings.
2014-03-17 16:28:31 -05:00
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