Commit graph

52 commits

Author SHA1 Message Date
Zephyron
236ad28d61 feat: Improve thermal display and build system
- Replace emoji thermal indicators with modern progress bar UI
- Switch temperature source to battery sensor for better accuracy
- Adjust temperature thresholds (30°C-45°C range)
- Add automatic Vulkan Validation Layer download for Android
- Downgrade Java/Kotlin target to 17 for wider compatibility

The thermal display now shows a visual progress bar with percentage
instead of emojis, making it easier to gauge system temperature at
a glance. Temperature reading now comes from the battery sensor
which is more reliable across devices.

Build system improvements include automated VVL binary downloads
and installation for Android builds when CITRON_DOWNLOAD_ANDROID_VVL
is enabled. Java target downgraded to 17 to ensure compatibility
with current Android toolchain.
2025-01-15 16:44:07 +10:00
Zephyron
9ae0eeeb87 Revert incorrect copyright attribution for non-contributed files
- In commit b3facaa6bb, the copyright header was
  updated to include "Citron Homebrew Project" across multiple files, regardless
  of whether any contributions were made.

- This commit removes the incorrect attribution and reverts the copyright header
  to its previous state.

- Copyright attribution should only be added when meaningful contributions have
  been made to the file.

- This commit ensures proper compliance with copyright standards and maintains
  correct attribution to the respective contributors.

- Special thanks to Tachi for pointing out the need for these corrections and
  ensuring that proper attribution practices are followed.
2025-01-14 15:33:24 +10:00
Zephyron
cce4abbb0b Android: Update dependencies and improve UI feedback
- Update Kotlin and various AndroidX dependencies to stable versions
- Add temperature monitoring with color-coded display in emulation
- Add FPS color indication (red to green based on performance)
- Add legal disclaimer page to initial setup
- Remove x86_64 ABI filter to focus on arm64-v8a
- Adjust thermal and FPS update intervals for consistency
- Clean up redundant dependency declarations

The temperature display now shows both Celsius and Fahrenheit with
color coding based on safe operating ranges [WIP]. FPS counter provides
visual feedback through colors, making performance issues more
immediately apparent to users.
2025-01-13 17:48:02 +10:00
Zephyron
6d5475a9cf Android: Update build system and dependencies
- Update Gradle from 8.1 to 8.10.2
- Update Android Gradle Plugin from 8.1.2 to 8.8.0
- Update Kotlin from 1.9.20 to 2.1.20-Beta1
- Update various AndroidX dependencies to latest versions
- Update NDK from 26.1 to 27.2 (with RC1/RC2 options commented)
- Update Java target from 17 to 21
- Update Android target SDK from 34 to 35
- Enable additional optimizations in release builds:
  - Enable shrinkResources
  - Use proguard-android-optimize.txt
  - Disable JNI debugging
- Replace vector drawables with PNG for ic_citron
- Comment out unused ComputeInline constant in dma_pusher.cpp
- Update Gradle wrapper and configuration files

This updates the Android build system and dependencies to their latest
versions while enabling additional optimizations for release builds.
The ic_citron icon was converted from vector to PNG format for better
compatibility.
2025-01-13 15:17:39 +10:00
Zephyron
b3facaa6bb
chore: update project references and add Citron copyright
- Replaced all references to the old project name with Citron.
- Added Citron copyright information alongside existing notices in all files.
2024-12-31 17:07:49 +10:00
t895
0a1283f94f android: Fix regex for git version 2024-02-08 14:24:15 -05:00
t895
99ea31faa8 ci: android: Play store publishing setup 2024-02-04 10:54:18 -05:00
t895
59080a3d1d android: Provide debug.keystore for debug and relWithDebInfo builds
Allows devs to share debug builds with testers without uninstalling the previous build
2024-01-21 22:08:07 -05:00
liamwhite
817c7c445d
Merge pull request #12667 from t895/version-info
android: Show version name instead of build hash in about fragment
2024-01-13 20:23:12 -05:00
t895
15d8a40529 android: Clean up git commands in build.gradle 2024-01-13 18:06:33 -05:00
t895
cdeaca73c4 android: Move ktlintCheck to yuzu-verify 2024-01-13 17:41:01 -05:00
t895
b2b4742e61 android: Update Kotlin version to 1.9.20 2023-12-30 15:11:00 -05:00
Liam
bd59934350 nce: implement instruction emulation for misaligned memory accesses 2023-12-10 18:23:42 -05:00
t895
e744c06f61 android: Remove ini4j 2023-11-21 01:58:13 -05:00
Charles Lombardo
97b4ca1d01 android: Auto-generate locale config 2023-10-31 22:07:44 -04:00
Charles Lombardo
224b6036a4 android: Update dependencies
Updates to androidx navigation, lifecycle, preference, fragment, recyclerview, and core
2023-10-13 12:55:41 -04:00
Charles Lombardo
1591923f91 android: Update ndk to 26.1.10909125
The new ndk uses LLVM 17.0.2 so we can remove the LLVM download and libc++ options for the android builds
2023-10-13 12:55:41 -04:00
Charles Lombardo
703bf7cfce android: Update androidx window library to 1.2.0-beta03
Fixes an issue with the input overlay on certain devices where the controls would appear offscreen.
2023-09-21 17:36:14 -04:00
Charles Lombardo
67eeb05692 android: Set up signing config for release builds 2023-09-17 01:22:16 -04:00
Charles Lombardo
182fb83556
android: Set default build variant to mainlineRelWithDebInfo (#11358) 2023-08-23 16:12:39 +02:00
Charles Lombardo
1bc832c9b1 android: lint: Delete generated ktlint folder between builds
There's a bug in ktlint where it will run into an error if you build the project, delete a source file, and then build again. It will be unable to find the file you deleted and can't recover until these files are deleted. This just deletes those files before every run.
2023-08-21 17:31:13 -04:00
Charles Lombardo
b76b698c17 android: Android 14 support
Specifies the permissions needed for the changes to foreground services in Android 14.
2023-06-28 16:15:18 -04:00
Charles Lombardo
330358cd16 android: Bump ktlint version to 0.47.1 2023-06-16 16:32:08 -04:00
Charles Lombardo
fc6a2fe779 android: Disable import-ordering ktlint check 2023-06-16 16:31:49 -04:00
Charles Lombardo
d85129aa17 Android: Use ktlint for Kotlin code style 2023-06-15 22:22:49 -04:00
Charles Lombardo
a29fa119e0 android: Enable android linting 2023-06-15 22:19:58 -04:00
Charles Lombardo
b79c993328 android: Adapt EmulationActivity to navigation component 2023-06-14 14:55:25 -04:00
Charles Lombardo
5751822e31 android: Use autoVersion when gradle property is set 2023-06-11 20:04:08 -04:00
Charles Lombardo
92d49ad652 android: Update dependencies 2023-06-11 02:17:29 -04:00
Charles Lombardo
f23a2b514b android: Differentiate build types with new names
Change the applicationIdSuffix and app launcher title based on build type
2023-06-11 02:16:45 -04:00
Charles Lombardo
37e135d74d Android: Remove unused relWithVersionCode build type 2023-06-11 02:15:28 -04:00
Narr the Reg
4d61319307 android: Set version code 2023-06-06 12:14:38 -06:00
Abandoned Cart
00a391ce10 android: Resolve a couple Gradle warnings 2023-06-04 02:06:38 -04:00
bunnei
ee8caac82f android: Various fixes for CI. 2023-06-03 00:06:05 -07:00
bunnei
17b5ed9baf android: externals: Update libadrenotools, use useLegacyPackaging. 2023-06-03 00:06:05 -07:00
Charles Lombardo
0cbae33790 android: Stop building x86 packages in APKs
This was really only meant for building the app to run in an emulator. If this is necessary, just add manually.
2023-06-03 00:06:04 -07:00
Charles Lombardo
8426e97f45 android: Clean up app build.gradle
Removes the conflicting declaration of "version" and changes to versionCode that did nothing.
2023-06-03 00:06:04 -07:00
Charles Lombardo
c11c5b2eb7 android: Clean up dependencies
Additionally updates material and androidx core libraries
2023-06-03 00:06:03 -07:00
Charles Lombardo
0f06e73a7c android: Use proguard file in relWithDebInfo 2023-06-03 00:06:02 -07:00
Charles Lombardo
2289f7ad15 android: Fix issues with ea/main icons and version codes
Now all yuzu icon variants are taken care of and now we have a build variant that uses the versioning we need for the play store.
2023-06-03 00:06:01 -07:00
Charles Lombardo
f69bc78dc5 android: Add early access upgrade fragment
We now have a second build flavor that will determine whether the "Get Early Access" button appears.
2023-06-03 00:06:00 -07:00
Charles Lombardo
65dc35a1a5 android: Game data cache 2023-06-03 00:05:59 -07:00
Charles Lombardo
d8bacdfc14 android: Update dependencies 2023-06-03 00:05:59 -07:00
Charles Lombardo
56d3711e34 android: Migrate to AGP 8.0.1 2023-06-03 00:05:59 -07:00
Charles Lombardo
f461465a92 android: Use short build hash 2023-06-03 00:05:58 -07:00
Charles Lombardo
61e0042633 android: Temporarily switch for a fixed version code for testing 2023-06-03 00:05:55 -07:00
Liam
8b4c5a9939 android: enable LTO 2023-06-03 00:05:53 -07:00
Charles Lombardo
f5c48f92f2 android: Bump minimum version to Android 11 2023-06-03 00:05:52 -07:00
Charles Lombardo
d57ae50f17 android: Enable code minification 2023-06-03 00:05:52 -07:00
Charles Lombardo
233ae9ab69 android: MainActivity overhaul
This moves several parts of the main activity into fragments that manage themselves to react to changes. UI changes like the appearance of a new search view or when the games list changes now gets updated via multiple view models. This also starts a conversion to the androidx navigation component which furthers the goals mentioned previously with more fragment responsibility. This will eventually allow us to use one activity with interchanging fragments and multiple view models that are stored within that central activity.

fdas
2023-06-03 00:05:51 -07:00