summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
AgeCommit message (Collapse)Author
2017-10-30Android: Add Slot A and B device settings to UIGreg Wicks
2017-10-21Android: Refactor onMotionEvent.Mike Harris
This works the same, but only looks for the initial event and ignores the keyup / return to home. It handles joystick diagonals smarter, in that it ignore diagonals until the stick moves in a more cardinal direction. This fixes an odd bug where the dpad up/down were switched (thread post I think found it - https://forums.dolphin-emu.org/Thread-arm64-version-on-shield-tv-x1-local-multiplayer-not-working-d-pad-mappings?pid=379918#pid379918)
2017-10-21Android: Refactor the saveInput function.Mike Harris
In its prior state, it had xor parameters, which is confusing.
2017-10-16Rename the param to setGamePath.Mike Harris
2017-10-16Minor cleanup in EmulationActivity.Mike Harris
Move the parameter extraction earlier on in onCreate. Mostly this moves setting sIsGameCubeGame to before setContentView, which means EmulationFragment will always see it in a consistent state. Previously, there was a race, which mean the controller overlay would randomly be Wii controls for a GameCube game (since the default is false). Use the correct support version of things, ActivityOptionsCompat and transitions Rename static var mIsGameCubeGame to sIsGameCubeGame. s is static, m is member.
2017-10-16Use the fragment backstack properly, and use fragment animations.Mike Harris
Make the MenuFragment added and removed by fragment transactions only, instead of being initially present in the XML. This fixes a glitch where it doesn't animate correctly the first time it's used.
2017-10-15Move emulation lifecycle handling into EmulationFragment.Mike Harris
The Activity is responsible for just its views and menus and such. It signals the Fragment via setGamePath, StartEmulation and StopEmulation. The Fragment manages the actual emulation lifecycle. It is solely responsible for calling the NativeLibrary lifecycle methods. With this lifecycle simplification, the NativeLibrary no longer needs to kill the Activity. It happens normally now. This simplifies a lot of things, live handling rotation.
2017-10-15Start the postponed activity transition as soon as Picasso loads theMike Harris
image. Doing it on the preDraw for the View is too complicated. This works just as well.
2017-10-15Only postpone transistions on Activity creation.Mike Harris
This is causing bugs (no UI is rendered) when the Activity is rotated.
2017-10-15Use weak references for the static Activity in NativeLibrary.Mike Harris
Add in null checks as well.
2017-10-15Remove EmulationActivity.MenuType. This should have been removed whenMike Harris
SaveLoadStateFragment was refactored.
2017-10-15Add dummy View that works around a bug with the nVidia Shield.Mike Harris
Without this View, the emulation SurfaceView acts like it has the highest Z-value, blocking any other View. This includes the menu fragments and the screenshot ImageView.
2017-10-15Add a clearEmulation method.Mike Harris
This makes it clear that the Activity is being cleared and removes null as a valid param. This improves readability (and logging slightly). Fix spacing between [Tag] and message. This matches the rest of the log messages.
2017-10-15Move all Activities and Fragments to the support library versions.Mike Harris
In the support lib, the code comes from the SDK, not the device like the framework version. This means we're shipping a more recent and less buggy version. It's also a good idea to keep the entire project on one version. We have a bit of a mix now. I think some of the Fragment animation issues were because of this mixing. For the leanback activities, AppCompatActivity requires AppCompat themes, which they don't ship for Theme.Leanback. So use FragmentActivity instead (that's the parent of AppCompatActivity, but still in the support library). For passed around Activities, use FragmentActivity to work with both.
2017-10-03Combine SaveStateFragment and LoadStateFragment into one.Mike Harris
Other than what action they send back to EmulationActivity.handleMenuAction(), they are the same. Change the menu-handling logic in EmulationActivity to keep track of a boolean for whether the submenu is visible, rather than keeping the fragment tag. There's only one fragment visible, so this makes more sense.
2017-10-03Move newInstance and launch to the top of the file.Mike Harris
Following the style guide, constructors go before public methods. newInstance and launch are basically constructors.
2017-09-29Remove 'all' as a Platform enum.Mike Harris
This will remove the 'all games' row on the TV view.
2017-09-29Convert platform ints to a proper enum Platform.Mike Harris
This is good practice (see Effective Java chapter 6), and adds compile-time checks.
2017-09-29Change from using tags in ImageCardView to setting a per-platform background.Mike Harris
This allows us to use a real ImageCardView instead of extending the class.
2017-09-29remove dupe log tagMike Harris
2017-09-26Remove prefix of tag, args and keys with packagename.Mike Harris
Prefixing everything with a constant packagename is not needed for internal keys, and just adds complexity. Rename ARGUMENT_ prefix to ARG_ to match (most) of the rest of the codebase. Restrict visiblity of above as much as possible.
2017-09-26Move Save/LoadFragment's layout ID inline and private.Mike Harris
Fix the hack of using the layout resource ID as a save/load ID, and instead use a proper enum.
2017-09-25Remove unused FRAGMENT_TAG, and move the fragment's layout ID inline.Mike Harris
FRAGMENT_ID wasn't actually the fragment's ID (that's misleading, and sounds like the tag). It's actually the layout resource ID. There's no point in making that a static constant.
2017-09-10Merge pull request #6034 from JonnyH/WIP/fix-android-null-SettingsSection-crashMarkus Wick
Fix some Android UI crashes opening 'settings' menus
2017-09-09Remove trailing spaces from Android filesJosJuice
Android Studio wants to correct these automatically when editing files.
2017-09-08Android UI: remove some unnecessary null pointer catchesJonathan Hamilton
These can no longer happen during 'normal' use (IE if the setting was missing)
2017-09-08Android SettingsFragmentParser - remove ad-hoc SettingSection constructionJonathan Hamilton
Now the SettingsSection map constructs a new SettingsSection at .get() time, these are no longer needed
2017-09-08Avoid crashes due to null SettingsSectionsJonathan Hamilton
If a SettingsFile had at least one section, it was assumed all sections were correctly filled out. This caused crashes when opening the settings menus if that was not the case - for example the GFX.ini settings empty sections are removed by the main dolphin app, putting the .ini file in a state that would crash the settings window if at least one setting was changed in it from the default, some sections were left as default. This adds a subclass of HashMap<String, SettingSection> that constructs a new SettingSection instead of returning 'null' if the key isn't found, so the mSettings.get(FILE).get(SECTION).get(SETTING) pattern can be safely used.
2017-09-08Merge pull request #5959 from mahdihijazi/tv_version_numberMarkus Wick
[Android] Show the version number on the title for the Android TV UI
2017-08-28Merge pull request #5969 from JosJuice/android-filenameLeo Lam
MainAndroid: Remove s_filename
2017-08-23Make the Android settings parser a bit more robustJonathan Hamilton
It would fail on lines line "Value =" - IE a value set to emptystring. This would cause the app to crash when trying to open the corresponding settings window.
2017-08-23MainAndroid: Remove s_filenameJosJuice
This fits better as a function parameter than as global state.
2017-08-21[Android] Show the version number on the title for the Android TV UImahdihijazi
- Stop reading version number from native code and use the one from BuildConfig - Show the version number on the title for the Android TV UI
2017-08-20[Android] Cleanup unused resources & codemahdihijazi
2017-08-01Android: Fix ubershader hybrid settingStenzek
2017-07-30VideoConfig: Add config options for ubershadersStenzek
2017-05-18Android: Initialize video backend setting on first runSean Maas
2017-05-15Android: Prevent stuck on-screen buttonsSean Maas
2017-05-14Android: Animate onscreen joystickSean Maas
Invalidate more often, display nub as pressed when in use, and implement basic nub bounds.
2017-05-14Android: Add pressed state to the on-screen controllersMahdi Hijazi
Now the buttons will be shown in different color to indicate a press event
2017-05-03[Android] Fix crash on the Android TVMahdi Hijazi
Whenever the EmulationActivity crashes and the app gets back to the TvMainActivity, dolphin will crash tring to restor the mBrowseFragment since we don't save the adapter data in the bundle. This is quick hack to avoid the crash. The proper fix would be to save the adapter data in the bundle and restore it before restoring the fragment when the activity gets recreated. Crash Stacktrace: Process: org.dolphinemu.dolphinemu.debug, PID: 30353 java.lang.RuntimeException: Unable to start activity ComponentInfo{org.dolphinemu.dolphinemu.debug/org.dolphinemu.dolphinemu.ui.main.TvMainActivity}: java.lang.IllegalArgumentException: Invalid position 1 requested at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2691) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2752) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1461) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6120) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) Caused by: java.lang.IllegalArgumentException: Invalid position 1 requested at android.support.v17.leanback.app.BrowseFragment.createMainFragment(BrowseFragment.java:509) at android.support.v17.leanback.app.BrowseFragment.replaceMainFragment(BrowseFragment.java:1454) at android.support.v17.leanback.app.BrowseFragment.setAdapter(BrowseFragment.java:764) at org.dolphinemu.dolphinemu.ui.main.TvMainActivity.buildRowsAdapter(TvMainActivity.java:183) at org.dolphinemu.dolphinemu.ui.main.TvMainActivity.onCreate(TvMainActivity.java:59) at android.app.Activity.performCreate(Activity.java:6664) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2644) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2752)  at android.app.ActivityThread.-wrap12(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1461)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:154)  at android.app.ActivityThread.main(ActivityThread.java:6120)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 
2017-05-03[Android] Add the missing Stereoscopic optionsMahdi Hijazi
2017-04-30[Android] Fix edit controls layoutMahdi Hijazi
Not checking the none existing key in the buttonsActionsMap leads to break the sub menu of the configure controls menu on Android phones.
2017-04-27[Android] Fix game bannersMahdi Hijazi
Use Bitmap.setPixels() instead of Bitmap.copyPixelsFromBuffer() the former use non pre-multiplied values of the colors which is what we expect to come from the native code.
2017-04-18Android: Add audio stretch settingMerryMage
2017-04-16x86-64 support on AndroidJosJuice
We can do this now that the x86-64 JIT supports PIE. JITIL is deliberately excluded from the GUI because it doesn't support PIE yet. (JITIL will be used if it's set in the INI, though.)
2017-04-03Merge pull request #5118 from mahdihijazi/masterMarkus Wick
[Android] Load the game banner from the ROM and use it if no screenshot is available
2017-04-01Android: Add option for enabling GPU texture decodingStenzek
2017-03-25Update to Android SDK 25Mahdi Hijazi
This handles the new permission system in Android M.
2017-03-24[Android] Load the game banner from the iso and use if no screenshot is ↵Mahdi Hijazi
available It doesn't look that good since the banners are 96x32 but it still better than nothing.