blob: e837cc8977a1c37ef7fcbd4905ccebbdfa0d0669 [file] [log] [blame]
// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package device
import "fmt"
var (
Nexus4 = product("mako", "Nexus 4", SnapdragonS4Pro)
Nexus5 = product("hammerhead", "Nexus 5", Snapdragon800)
Nexus5X = product("bullhead", "Nexus 5X", Snapdragon808)
Nexus6 = product("shamu", "Nexus 6", Snapdragon805)
Nexus6P = product("angler", "Nexus 6P", Snapdragon810)
Nexus9 = product("flounder", "Nexus 9", TegraK1Denver)
Nexus9LTE = product("flounder_lte", "Nexus 9", TegraK1Denver)
)
// AndroidOS returns the full OS structure for the supplied android os version.
func AndroidOS(major, minor, point int32) OS {
os := OS{
Kind: Android,
Major: major,
Minor: minor,
Point: point,
}
switch {
case major == 6:
os.Name = "Marshmallow"
case major == 5:
os.Name = "Lollipop"
case major == 4 && minor >= 4:
os.Name = "KitKat"
case major == 4 && minor >= 1:
os.Name = "Jelly Bean"
case major == 4:
os.Name = "Ice Cream Sandwich"
case major == 3:
os.Name = "Honeycomb"
case major == 2 && minor >= 3:
os.Name = "Gingerbread"
case major == 2 && minor >= 2:
os.Name = "Froyo"
case major == 2:
os.Name = "Eclair"
case major == 1 && minor >= 6:
os.Name = "Donut"
case major == 1:
os.Name = "Cupcake"
default:
os.Name = fmt.Sprintf("Android %d.%d.%d", major, minor, point)
}
return os
}