The Connection function can detect whether a device is on a metered connection or if it is connected/disconnected. I have used Connection.Metered in a condition to determine how much data to store locally: mobile phones on cell data would store less data while laptops on wifi would pull down more. It helps it run better.
But not all user laptops benefit from holding more data locally. Fast laptops greatly benefit since they don't have to wait to pull down data all the time, but slow laptops can't handle it.
Does anyone have a way to test the processing power of a device?