1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 16:22:57 +08:00
Commit Graph

232 Commits

Author SHA1 Message Date
Dean Herbert
5b06a68b93
Merge pull request #12330 from Cublibre/master
Send a warning notification if device is unplugged and at low battery
2021-04-15 19:21:04 +09:00
Salman Ahmed
36510309d1 Merge EnableUserDim and IgnoreUserSettings to one bindable 2021-04-13 10:58:56 +03:00
Christine Chen
f66306a81a Remove IsLowBattery 2021-04-12 11:15:24 -04:00
Christine Chen
43b97fe0ad Refactor PowerStatus (now called BatteryInfo) 2021-04-12 10:52:52 -04:00
Christine Chen
08311abc5e Remove setters, cache CreatePowerStatus() and use a dummy LocalPowerStatus class in test scene 2021-04-10 00:00:21 -04:00
Christine Chen
59d13b0dd3 Fixed indentation
sorry about the style fixes... I'm using JetBrains Rider from now on.
2021-04-08 21:53:42 -04:00
Christine Chen
493c095535 Fixed code style 2021-04-08 20:28:23 -04:00
Christine Chen
6bccb3aab6 Use DI to implement battery detection, add BatteryCutoff property
- Removed the Xamarin.Essentials package from osu.Game and added it to osu.iOS and osu.Android only.
- iOS and Android implementations use Xamarin.Essentials.Battery, while the Desktop implementation
only returns 100% battery for now.
- Added a BatteryCutoff property to PowerStatus so it can be different for each platform (default 20%, 25% on iOS)
2021-04-08 19:55:11 -04:00
Christine Chen
0a6baf670e Send a warning notification if device is unplugged and low battery
- Uses Xamarin.Essentials in osu.Game.PlayerLoader to check battery level
- Encapsulated battery checking in the public BatteryManager class so battery level and plugged in status can be accessed and edited in TestPlayerLoader
- When checking battery level, catch NotImplementedException thrown by Xamarin.Essentials.Battery on non-mobile platforms
- Added visual unit tests for battery notification
  To mock battery status and level, we had to define a batteryManager object in TestPlayerLoader and add a new function ResetPlayerWithBattery()

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-07 15:56:50 -04:00
Dean Herbert
0c53b4eb93 Fix wrong counting and add test 2021-03-31 14:09:39 +09:00
Dean Herbert
e0c61f4dc5 Fix retry count not updating correctly
Regressed with changes to player reference retention logic. Could add a
test but the logic is so local now it seems quite redundant.
2021-03-31 13:57:58 +09:00
Dean Herbert
4fd8501c86 Remove unnecessary using (underlying enumerator change) 2021-02-26 20:03:03 +09:00
Dean Herbert
b3f08b29ca Ensure that all changes to screen backgrounds are on the correct thread 2021-01-05 15:22:50 +09:00
Dean Herbert
0d7f53b0b9 Fix gameplay loading too fast the first time entering a beatmap 2020-12-14 14:21:21 +09:00
Dean Herbert
437c0506ce Refactor to allow for special disposal handling to still work 2020-12-10 16:56:56 +09:00
Dean Herbert
67dd7be71a Move cancelLoad call to OnResuming
This has no real effect; it just feels more readable to me.
2020-12-10 16:34:59 +09:00
Dean Herbert
491ab74059 Schedule pushWhenLoaded once ever
Previously it was being scheduled another time each OnResume, resulting
in more and more calls as a user retries the same beatmap multiple
times.

To simplify things I've decided to just schedule once ever. This means
that on resuming there's no 400ms delay any more, but in testing this
isn't really an issue (load time is still high enough that it will never
really be below that anyway). Even if gameplay was to load faster, the
animation should gracefully proceed.
2020-12-10 16:33:30 +09:00
Dean Herbert
cc996ec7fc Ensure player is consumed at the point of scheduled push running the first time 2020-12-10 16:32:14 +09:00
Bartłomiej Dach
0542a45c43 Change to manual adjustment add/remove 2020-10-25 12:33:35 +01:00
Bartłomiej Dach
e101ba5cba Move volume manipulations to player loader 2020-10-25 00:40:11 +02:00
Bartłomiej Dach
73174961f0 Rework animation sequence for readability 2020-10-24 22:30:08 +02:00
Dean Herbert
7a68636f71 Adjust fade sequence and durations to feel better 2020-10-20 15:03:33 +09:00
Dean Herbert
4e57751ca1 Fix background dim application to avoid overdraw, transition smoother 2020-10-20 15:03:12 +09:00
Bartłomiej Dach
fd4bab85cf Merge branch 'master' into epilepsy-warning 2020-10-20 01:06:46 +02:00
Bartłomiej Dach
1fc22bdbff Only show warning once on given map 2020-10-20 00:59:36 +02:00
Bartłomiej Dach
6e50ae0458 Reformulate push sequence code 2020-10-20 00:22:30 +02:00
Bartłomiej Dach
8505903041 Move warning construction to load() 2020-10-20 00:08:05 +02:00
Bartłomiej Dach
aeca61eb3e Split warning to separate file 2020-10-19 23:48:02 +02:00
Bartłomiej Dach
44279ed347 Remove unused using directive 2020-10-19 23:46:09 +02:00
Salman Ahmed
6e4b28ed1e Different version of epilepsy warning display 2020-10-20 00:32:44 +03:00
Dean Herbert
99bea6b8e9 Add missing null check (player construction is potentially delayed now) 2020-08-13 12:52:35 +09:00
Dean Herbert
27cd9e119a Delay beatmap load until after transition has finished
Previously the beatmap would begin loading at the same time the
`PlayerLoader` class was. This can cause a horribly visible series of
stutters, especially when a storyboard is involved.

Obviously we should be aiming to reduce the stutters via changes to the
beatmap load process (such as incremental storyboard loading,
`DrawableHitObject` pooling, etc.) but this improves user experience
tenfold in the mean time.
2020-08-13 12:04:32 +09:00
alex
0e2ccac33b Add spaces to comments 2020-05-04 18:36:24 -07:00
Dean Herbert
4d4ec3515d Fix player loading sequence continuing even when a priority overlay is visible 2020-02-14 19:16:08 +09:00
Dean Herbert
2808f8167d Use more regions 2020-02-14 18:28:58 +09:00
Dean Herbert
b69d1ad678 Reorder and clean up PlayerLoader 2020-02-14 18:22:57 +09:00
Dean Herbert
be30ef3cca Move BeatmapMetadataDisplay to its own class 2020-02-14 18:13:52 +09:00
Bartłomiej Dach
f0fe3bc804 Pass bindable to BeatmapMetadataDisplay
It was reported that mods selected in song select would show up during
loading of replays which were recorded under a different set of mods.
This was caused by BeatmapMetadataDisplay accepting a plain read-only
value of the Mods bindable in PlayerLoader.load(), therefore making the
mod value assignment in ReplayPlayerLoader.OnEntering() have no effect
on that component.

To resolve this issue, make BeatmapMetadataDisplay accept the
higher-level bindable, bind to it locally and pass it down the hierarchy
to ModDisplay.
2020-01-08 20:10:43 +01:00
Bartłomiej Dach
a3f7d3c445 Add failing test
Add test case demonstrating the lack of update of the metadata display's
mods upon setting the Mods property in PlayerLoader.
2020-01-08 19:55:35 +01:00
Dean Herbert
ca862124a5 Fix replay import from main menu causing a hard crash 2019-12-27 19:36:48 +09:00
Dan Balasescu
54798b134e
Add accessibility modifiers 2019-12-08 03:16:41 +09:00
Dean Herbert
de23364608 Add failing test 2019-12-06 13:47:34 +09:00
smoogipoo
636913a4a6 Refactor PlayerLoader changes 2019-10-03 19:22:41 +09:00
Craftplacer
6929847b08 Remove redundant override 2019-10-02 17:22:34 +02:00
Craftplacer
5f399add82 Resolve @iiSaLMaN 's suggested changes 2019-10-01 18:15:40 +02:00
Craftplacer
2ac5e0bfa0 Make use of SessionStatics 2019-10-01 17:39:01 +02:00
Dean Herbert
f4f5a7e9c8 Fix test regressions 2019-09-27 13:20:17 +08:00
Dean Herbert
b50ef8ffa4 Allow null NotificationManager 2019-09-27 13:15:33 +08:00
Dean Herbert
f11156c2dc Fix tests not working correctly 2019-09-25 19:30:25 +09:00
Craftplacer
c3221e1a36 Prepare classes for player loader test scene 2019-09-18 23:27:26 +02:00