Skip to content
A library that analyzes an Android device's specifications and calculates which year the device would be considered "high end”.
Branch: master
Clone or download
elizahale and zlern2k Updated version number 2.0.0 -> 2.1.0 (#37)
2.0.0 to 2.1.0
* Update version number in README
* Update version number in gradle.properties
* Update version number in CHANGELOG
Latest commit a6dc1f3 Apr 13, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs/images Initial commit. Mar 26, 2015
gradle/wrapper Update Gradle wrapper to 3.5 Apr 11, 2017
yearclass-sample Update Android build dependencies Feb 12, 2017
yearclass Adding Year Class 2016 Feb 21, 2018
.gitignore
CHANGELOG.md Updated version number 2.0.0 -> 2.1.0 (#37) Apr 14, 2018
CONTRIBUTING.md
LICENSE Fix whitespace errors Feb 12, 2017
PATENTS Update Patent Grant Apr 14, 2015
README.md Updated version number 2.0.0 -> 2.1.0 (#37) Apr 14, 2018
build.gradle
gradle.properties
gradlew
gradlew.bat
release.gradle
settings.gradle Initial commit. Mar 26, 2015

README.md

Devices by Year Class Device Year Class

Device Year Class is an Android library that implements a simple algorithm that maps a device's RAM, CPU cores, and clock speed to the year where those combination of specs were considered high end. This allows a developer to easily modify application behavior based on the capabilities of the phone's hardware.

Most Popular Devices by Year Class

Mappings as of this writing (RAM is a ceiling):

RAM condition Year Class
768MB 1 core 2009
2+ cores 2010
1GB <1.3GHz 2011
1.3GHz+ 2012
1.5GB <1.8GHz 2012
1.8GHz+ 2013
2GB 2013
3GB 2014
5GB 2015
more 2016

Integration

Download

Download the latest JARs or grab via Gradle:

compile 'com.facebook.device.yearclass:yearclass:2.1.0'

or Maven:

<dependency>
  <groupId>com.facebook.device.yearclass</groupId>
  <artifactId>yearclass</artifactId>
  <version>2.1.0</version>
</dependency>

Calculate Device Year Class

Calculating the current device's Year Class is simple.

int year = YearClass.get(getApplicationContext());

Then, later on, you can use the year class to make decisions in your app, or send it along with your analytics.

if (year >= 2013) {
    // Do advanced animation
} else if (year > 2010) {
    // Do simple animation
} else {
    // Phone too slow, don't do any animations
}

See the yearclass-sample project for more details.

Improve Device Year Class!

See the CONTRIBUTING.md file for how to help out.

License

Device Year Class is BSD-licensed. We also provide an additional patent grant.

You can’t perform that action at this time.