5845 lines
237 KiB
JavaScript
5845 lines
237 KiB
JavaScript
|
|
var useragent_base = (function() {
|
||
|
|
var STRINGS_SAMSUNG = 'Samsung',
|
||
|
|
STRINGS_SHARP = 'Sharp',
|
||
|
|
STRINGS_SONY_ERICSSON = 'Sony Ericsson',
|
||
|
|
STRINGS_MOTOROLA = 'Motorola',
|
||
|
|
STRINGS_LG = 'LG',
|
||
|
|
STRINGS_HUAWEI = 'Huawei',
|
||
|
|
STRINGS_HTC = 'HTC',
|
||
|
|
STRINGS_COOLPAD = 'Coolpad',
|
||
|
|
STRINGS_ASUS = 'Asus',
|
||
|
|
STRINGS_ACER = 'Acer';
|
||
|
|
var STRINGS_BASED = ' based device';
|
||
|
|
|
||
|
|
var TOUCHWIZ_MODELS = {
|
||
|
|
'SAMSUNG': {
|
||
|
|
'GT-S3370C': [STRINGS_SAMSUNG, 'Corby 3G'],
|
||
|
|
'GT-S3650': [STRINGS_SAMSUNG, 'Corby'],
|
||
|
|
'GT-S3653': [STRINGS_SAMSUNG, 'Corby'],
|
||
|
|
'GT-S3850': [STRINGS_SAMSUNG, 'Corby II'],
|
||
|
|
'GT-S5230': [STRINGS_SAMSUNG, 'Star'],
|
||
|
|
'GT-S5230W': [STRINGS_SAMSUNG, 'Star'],
|
||
|
|
'GT-S5233': [STRINGS_SAMSUNG, 'Star'],
|
||
|
|
'GT-S5260': [STRINGS_SAMSUNG, 'Star II'],
|
||
|
|
'GT-S5560': [STRINGS_SAMSUNG, 'Marvel'],
|
||
|
|
'GT-S5620': [STRINGS_SAMSUNG, 'Monte'],
|
||
|
|
'GT-S7550': [STRINGS_SAMSUNG, 'Blue Earth'],
|
||
|
|
'GT-S8000': [STRINGS_SAMSUNG, 'Jet'],
|
||
|
|
'GT-S8003': [STRINGS_SAMSUNG, 'Jet'],
|
||
|
|
'SGH-F480': [STRINGS_SAMSUNG, 'Tocco'],
|
||
|
|
'SGH-T528g': [STRINGS_SAMSUNG, 'Straight Talk'],
|
||
|
|
'GT-B3410': [STRINGS_SAMSUNG, 'Star Qwerty'],
|
||
|
|
'GT-B5310': [STRINGS_SAMSUNG, 'Corby Pro'],
|
||
|
|
'GT-B7722': [STRINGS_SAMSUNG, 'Star Duos'],
|
||
|
|
'GT-C6712': [STRINGS_SAMSUNG, 'Star II Duos']
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
var BADA_MODELS = {
|
||
|
|
'SAMSUNG': {
|
||
|
|
'GT- S5250': [STRINGS_SAMSUNG, 'Wave 525'],
|
||
|
|
'GT-S5250': [STRINGS_SAMSUNG, 'Wave 525'],
|
||
|
|
'GT-S5253': [STRINGS_SAMSUNG, 'Wave 525'],
|
||
|
|
'GT-S5330': [STRINGS_SAMSUNG, 'Wave 533'],
|
||
|
|
'GT-S5380': [STRINGS_SAMSUNG, 'Wave Y'],
|
||
|
|
'GT-S5380D': [STRINGS_SAMSUNG, 'Wave Y'],
|
||
|
|
'GT-S5380K': [STRINGS_SAMSUNG, 'Wave Y'],
|
||
|
|
'GT-S5750E': [STRINGS_SAMSUNG, 'Wave 575'],
|
||
|
|
'GT-S5753E': [STRINGS_SAMSUNG, 'Wave 575'],
|
||
|
|
'GT-S7230B': [STRINGS_SAMSUNG, 'Wave 723'],
|
||
|
|
'GT-S7230E': [STRINGS_SAMSUNG, 'Wave 723'],
|
||
|
|
'GT-S7233E': [STRINGS_SAMSUNG, 'Wave 723'],
|
||
|
|
'GT-S7250': [STRINGS_SAMSUNG, 'Wave M'],
|
||
|
|
'GT-S7250D': [STRINGS_SAMSUNG, 'Wave M'],
|
||
|
|
'GT-S8500': [STRINGS_SAMSUNG, 'Wave'],
|
||
|
|
'GT-S8500C': [STRINGS_SAMSUNG, 'Wave'],
|
||
|
|
'GT-S8500R': [STRINGS_SAMSUNG, 'Wave'],
|
||
|
|
'GT-S8500T': [STRINGS_SAMSUNG, 'Wave'],
|
||
|
|
'GT-S8530': [STRINGS_SAMSUNG, 'Wave II'],
|
||
|
|
'GT-S8600': [STRINGS_SAMSUNG, 'Wave 3'],
|
||
|
|
'SHW-M410': [STRINGS_SAMSUNG, 'Wave 3']
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
var TIZEN_MODELS = {
|
||
|
|
'SAMSUNG': {
|
||
|
|
'GT-I9500': [STRINGS_SAMSUNG, 'GT-I9500']
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
var BREW_MODELS = {
|
||
|
|
'Coolpad D508': [STRINGS_COOLPAD, 'D508'],
|
||
|
|
'Coolpad E600': [STRINGS_COOLPAD, 'E600'],
|
||
|
|
'SCH-F839': [STRINGS_SAMSUNG, 'SCH-F839']
|
||
|
|
}
|
||
|
|
|
||
|
|
var WINDOWS_MOBILE_MODELS = {
|
||
|
|
'DX900': [STRINGS_ACER, 'Tempo DX900'],
|
||
|
|
'F900': [STRINGS_ACER, 'Tempo F900'],
|
||
|
|
'Coolpad F800': [STRINGS_COOLPAD, 'F800'],
|
||
|
|
'garmin-asus-Nuvifone-M10': ['Garmin-Asus', 'Nuvifone M10'],
|
||
|
|
'HP iPAQ 510': ['HP', 'iPAQ 510'],
|
||
|
|
'HD mini T5555': [STRINGS_HTC, 'HD mini'],
|
||
|
|
'HTC HD mini': [STRINGS_HTC, 'HD mini'],
|
||
|
|
'HTC HD mini T5555': [STRINGS_HTC, 'HD mini'],
|
||
|
|
'HTC HD2': [STRINGS_HTC, 'HD2'],
|
||
|
|
'HTC HD2 T8585': [STRINGS_HTC, 'HD2'],
|
||
|
|
'HD2 T8585': [STRINGS_HTC, 'HD2'],
|
||
|
|
'T-Mobile LEO': [STRINGS_HTC, 'HD2'],
|
||
|
|
'dopodT5588': [STRINGS_HTC, 'Hengshan'],
|
||
|
|
'HTC Mega-T3333': [STRINGS_HTC, 'Mega'],
|
||
|
|
'HTC Snap S521': [STRINGS_HTC, 'Snap'],
|
||
|
|
'HTC Touch2 T3320': [STRINGS_HTC, 'Touch 2'],
|
||
|
|
'HTC Touch2 T3333': [STRINGS_HTC, 'Touch 2'],
|
||
|
|
'HTC Touch2 T3335': [STRINGS_HTC, 'Touch 2'],
|
||
|
|
'HTC P3700': [STRINGS_HTC, 'Touch Diamond'],
|
||
|
|
'HTC Touch Diamond2 T5353': [STRINGS_HTC, 'Touch Diamond 2'],
|
||
|
|
'HTC Touch HD T8282': [STRINGS_HTC, 'Touch HD'],
|
||
|
|
'HTC Touch HD T8283': [STRINGS_HTC, 'Touch HD'],
|
||
|
|
'HTC Touch HD2 T8585': [STRINGS_HTC, 'Touch HD2'],
|
||
|
|
'HTC Touch Pro2 T7373': [STRINGS_HTC, 'Touch Pro 2'],
|
||
|
|
'T7380': [STRINGS_HTC, 'Touch Pro 2'],
|
||
|
|
'HTC TyTN II': [STRINGS_HTC, 'TyTN II'],
|
||
|
|
'GT-B7300': [STRINGS_SAMSUNG, 'Omnia Lite'],
|
||
|
|
'GT-B7610': [STRINGS_SAMSUNG, 'Omnia Pro'],
|
||
|
|
'GT-i8000': [STRINGS_SAMSUNG, 'Omnia 2'],
|
||
|
|
'GT-I8000': [STRINGS_SAMSUNG, 'Omnia 2'],
|
||
|
|
'GT-I8000U': [STRINGS_SAMSUNG, 'Omnia 2'],
|
||
|
|
'M1i': [STRINGS_SONY_ERICSSON, 'M1i Aspen']
|
||
|
|
}
|
||
|
|
|
||
|
|
var WINDOWS_PHONE_MODELS = {
|
||
|
|
'Acer': {
|
||
|
|
'Allegro': [STRINGS_ACER, 'Allegro'],
|
||
|
|
'M310': [STRINGS_ACER, 'Allegro']
|
||
|
|
},
|
||
|
|
|
||
|
|
'Asus': {
|
||
|
|
'Galaxy6': [STRINGS_ASUS, 'Galaxy 6']
|
||
|
|
},
|
||
|
|
|
||
|
|
'DELL': {
|
||
|
|
'Venue Pro': ['Dell', 'Venue Pro']
|
||
|
|
},
|
||
|
|
|
||
|
|
'FujitsuToshibaMobileCommun': {
|
||
|
|
'IS12T': ['Fujitsu Toshiba', 'IS12T']
|
||
|
|
},
|
||
|
|
|
||
|
|
'HTC': {
|
||
|
|
'7 Mozart': [STRINGS_HTC, '7 Mozart'],
|
||
|
|
'7 Mozart T8698': [STRINGS_HTC, '7 Mozart'],
|
||
|
|
'T8697': [STRINGS_HTC, '7 Mozart'],
|
||
|
|
'T8698': [STRINGS_HTC, '7 Mozart'],
|
||
|
|
'PD67100': [STRINGS_HTC, '7 Mozart'],
|
||
|
|
'Mozart T8698': [STRINGS_HTC, '7 Mozart'],
|
||
|
|
'Mozart': [STRINGS_HTC, '7 Mozart'],
|
||
|
|
'USCCHTC-PC93100': [STRINGS_HTC, 'Arrive'],
|
||
|
|
'Gold': [STRINGS_HTC, 'Gold '],
|
||
|
|
'HD2': [STRINGS_HTC, 'HD2'],
|
||
|
|
'HD7': [STRINGS_HTC, 'HD7'],
|
||
|
|
'HD7 T9292': [STRINGS_HTC, 'HD7'],
|
||
|
|
'T9295': [STRINGS_HTC, 'HD7'],
|
||
|
|
'T9296': [STRINGS_HTC, 'HD7'],
|
||
|
|
'HD7 Infinity': [STRINGS_HTC, 'HD7'],
|
||
|
|
'T7575': [STRINGS_HTC, '7 Pro'],
|
||
|
|
'7 Pro T7576': [STRINGS_HTC, '7 Pro'],
|
||
|
|
'mwp6985': [STRINGS_HTC, 'Trophy'],
|
||
|
|
'7 Trophy T8686': [STRINGS_HTC, 'Trophy'],
|
||
|
|
'7 Trophy': [STRINGS_HTC, 'Trophy'],
|
||
|
|
'PC40100': [STRINGS_HTC, 'Trophy'],
|
||
|
|
'Touch-IT Trophy': [STRINGS_HTC, 'Trophy'],
|
||
|
|
'Radar': [STRINGS_HTC, 'Radar'],
|
||
|
|
'Radar 4G': [STRINGS_HTC, 'Radar'],
|
||
|
|
'Radar C110e': [STRINGS_HTC, 'Radar'],
|
||
|
|
'Mazaa': [STRINGS_HTC, 'Mazaa'],
|
||
|
|
'Mondrian': [STRINGS_HTC, 'Mondrian'],
|
||
|
|
'Schubert': [STRINGS_HTC, 'Schubert'],
|
||
|
|
'7 Schubert T9292': [STRINGS_HTC, 'Schubert'],
|
||
|
|
'Spark': [STRINGS_HTC, 'Spark'],
|
||
|
|
'T8788': [STRINGS_HTC, 'Surround'],
|
||
|
|
'TITAN X310e': [STRINGS_HTC, 'Titan'],
|
||
|
|
'X310e': [STRINGS_HTC, 'Titan'],
|
||
|
|
'PI39100': [STRINGS_HTC, 'Titan'],
|
||
|
|
'PI86100': [STRINGS_HTC, 'Titan II'],
|
||
|
|
'Ultimate': [STRINGS_HTC, 'Ultimate']
|
||
|
|
},
|
||
|
|
|
||
|
|
'LG': {
|
||
|
|
'GW910': [STRINGS_LG, 'Optimus 7'],
|
||
|
|
'LG E-900': [STRINGS_LG, 'Optimus 7 E900'],
|
||
|
|
'LG-E900': [STRINGS_LG, 'Optimus 7 E900'],
|
||
|
|
'LG-E900h': [STRINGS_LG, 'Optimus 7 E900'],
|
||
|
|
'LG-C900': [STRINGS_LG, 'Optimus 7Q'],
|
||
|
|
'LG-C900B': [STRINGS_LG, 'Quantum'],
|
||
|
|
'LG-C900k': [STRINGS_LG, 'Quantum']
|
||
|
|
},
|
||
|
|
|
||
|
|
'nokia': {
|
||
|
|
'SeaRay': ['Nokia', 'Lumia 800'],
|
||
|
|
'800C': ['Nokia', 'Lumia 800']
|
||
|
|
},
|
||
|
|
|
||
|
|
'NOKIA': {
|
||
|
|
'710': ['Nokia', 'Lumia 710'],
|
||
|
|
'Nokia 710': ['Nokia', 'Lumia 710'],
|
||
|
|
'Lumia 710': ['Nokia', 'Lumia 710'],
|
||
|
|
'Lumia 719': ['Nokia', 'Lumia 719'],
|
||
|
|
'Lumia 800': ['Nokia', 'Lumia 800'],
|
||
|
|
'800': ['Nokia', 'Lumia 800'],
|
||
|
|
'Lumia 900': ['Nokia', 'Lumia 900'],
|
||
|
|
'XXX': ['Nokia', 'prototype']
|
||
|
|
},
|
||
|
|
|
||
|
|
'SAMSUNG': {
|
||
|
|
'GT-I8350': [STRINGS_SAMSUNG, 'Omnia W'],
|
||
|
|
'GT-I8350T': [STRINGS_SAMSUNG, 'Omnia W'],
|
||
|
|
'SGH-i677': [STRINGS_SAMSUNG, 'Focus Flash'],
|
||
|
|
'SGH-i707': [STRINGS_SAMSUNG, 'Taylor'],
|
||
|
|
'SGH-i917': [STRINGS_SAMSUNG, 'Omnia 7'],
|
||
|
|
'SGH-I917': [STRINGS_SAMSUNG, 'Omnia 7'],
|
||
|
|
'SGH-i917.': [STRINGS_SAMSUNG, 'Focus'],
|
||
|
|
'SGH-i917R': [STRINGS_SAMSUNG, 'Focus'],
|
||
|
|
'SGH-i937': [STRINGS_SAMSUNG, 'Focus S'],
|
||
|
|
'OMNIA7': [STRINGS_SAMSUNG, 'Omnia 7'],
|
||
|
|
'OMINA7': [STRINGS_SAMSUNG, 'Omnia 7'],
|
||
|
|
'Taylor': [STRINGS_SAMSUNG, 'Taylor']
|
||
|
|
},
|
||
|
|
|
||
|
|
'TOSHIBA': {
|
||
|
|
'TSUNAGI': ['Toshiba', 'Tsunagi']
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
var ANDROID_MODELS = {
|
||
|
|
'Android': [null, null],
|
||
|
|
'google sdk': [null, null],
|
||
|
|
'sdk': [null, null],
|
||
|
|
'generic': [null, null],
|
||
|
|
'generic x86': [null, null],
|
||
|
|
'amd brazos': ['AMD', 'Fusionbased device'],
|
||
|
|
'Amlogic M1 reference board': ['Amlogic', 'M1 reference board'],
|
||
|
|
'AML8726M': ['Amlogic', 'AML8726-Mbased device'],
|
||
|
|
'vexpress a9': ['ARM', 'Versatile Express development platform'],
|
||
|
|
'bcm7231': ['Broadcom', 'BCM7231based device', 'television'],
|
||
|
|
'bcm7425': ['Broadcom', 'BCM7425based device', 'television'],
|
||
|
|
'bcm7429': ['Broadcom', 'BCM7429based device', 'television'],
|
||
|
|
'imx50 rdp': ['Freescale', 'i.MX50based device'],
|
||
|
|
'imx51 bbg': ['Freescale', 'i.MX51based device'],
|
||
|
|
'imx53 loco': ['Freescale', 'i.MX53based device'],
|
||
|
|
'imx53 mp204f3': ['Freescale', 'i.MX53based device'],
|
||
|
|
'imx53 smd': ['Freescale', 'i.MX53based device'],
|
||
|
|
'imx53 yeagle': ['Freescale', 'i.MX53based device'],
|
||
|
|
'imx6q': ['Freescale', 'i.MX6Qbased device'],
|
||
|
|
'ODROID-A': ['Hardkernel', 'ODROID-A developer tablet', 'tablet'],
|
||
|
|
'mfld dv10': ['Intel', 'Medfieldbased device'],
|
||
|
|
'mfld dv20': ['Intel', 'Medfieldbased device'],
|
||
|
|
'mfld lw00': ['Intel', 'Medfieldbased device'],
|
||
|
|
'mfld pr2': ['Intel', 'Medfieldbased device'],
|
||
|
|
'mfld pr3': ['Intel', 'Medfieldbased device'],
|
||
|
|
'berlin bg2': ['Marvell', 'Armada 1000based device', 'television'],
|
||
|
|
'MStar Amber3': ['MStar', 'Amber3based device'],
|
||
|
|
'Konka Amber3': ['MStar', 'Amber3based device'],
|
||
|
|
'mt5396': ['Mediatek', 'MT5396based device', 'television'],
|
||
|
|
'bird75v2': ['Mediatek', 'MT6575based device'],
|
||
|
|
'eagle75v1 2': ['Mediatek', 'MT6575based device'],
|
||
|
|
'MBX DVBT reference board (c03ref)': ['MXB', 'DVBT reference board', 'television'],
|
||
|
|
'NS2816': ['Nufront', 'NuSmart 2816based device'],
|
||
|
|
'Ventana': ['nVidia', 'Tegra Ventana development kit'],
|
||
|
|
'Cardhu': ['nVidia', 'Tegra 3based device'],
|
||
|
|
'Panda': ['Pandaboard', 'Development Kit'],
|
||
|
|
'pandaboard': ['Pandaboard', 'Development Kit'],
|
||
|
|
'PandaBoard': ['Pandaboard', 'Development Kit'],
|
||
|
|
'MSM': ['Qualcomm', 'Snapdragonbased device'],
|
||
|
|
'msm7227 ffa': ['Qualcomm', 'Snapdragon S1based device'],
|
||
|
|
'msm7627 surf': ['Qualcomm', 'Snapdragon S1based device'],
|
||
|
|
'msm7627a': ['Qualcomm', 'Snapdragon S1based device'],
|
||
|
|
'msm7627a sku1': ['Qualcomm', 'Snapdragon S1based device'],
|
||
|
|
'msm7627a sku3': ['Qualcomm', 'Snapdragon S1based device'],
|
||
|
|
'msm7630 fusion': ['Qualcomm', 'Snapdragon S2based device'],
|
||
|
|
'msm7630 surf': ['Qualcomm', 'Snapdragon S2based device'],
|
||
|
|
'msm8660 cougar': ['Qualcomm', 'Snapdragon S3based device'],
|
||
|
|
'msm8660 surf': ['Qualcomm', 'Snapdragon S3based device'],
|
||
|
|
'msm8960': ['Qualcomm', 'Snapdragon S4based device'],
|
||
|
|
'rk2808sdk': ['Rockchip', 'RK2808based device'],
|
||
|
|
'RK2818': ['Rockchip', 'RK2818based device'],
|
||
|
|
'rk2818sdk': ['Rockchip', 'RK2818based device'],
|
||
|
|
'Android-for-Rockchip-2818': ['Rockchip', 'RK2818based device'],
|
||
|
|
'rk29sdk': ['Rockchip', 'RK29based device'],
|
||
|
|
'Rk29sdk': ['Rockchip', 'RK29based device'],
|
||
|
|
'rk30sdk': ['Rockchip', 'RK30based device'],
|
||
|
|
's3c6410': ['Samsung', 'S3C6410based device'],
|
||
|
|
'smdk6410': ['Samsung', 'S3C6410based device'],
|
||
|
|
'SMDKC110': ['Samsung', 'Exynos 3110based device'],
|
||
|
|
'SMDKV210': ['Samsung', 'Exynos 4210based device'],
|
||
|
|
'S5PV210': ['Samsung', 'Exynos 4210based device'],
|
||
|
|
'sec smdkc210': ['Samsung', 'Exynos 4210based device'],
|
||
|
|
'SMDK4x12': ['Samsung', 'Exynos 4212 or 4412based device'],
|
||
|
|
'smp86xx': ['Sigma', 'SMP86xxbased device', 'television'],
|
||
|
|
'sv8860': ['Skyviia', 'SV8860based device', 'television'],
|
||
|
|
'ste u8500': ['ST Ericsson', 'Novathor U8500based device'],
|
||
|
|
'Telechips M801 Evaluation Board': ['Telechips', 'M801based device', 'television'],
|
||
|
|
'Telechips TCC8900 Evaluation Board': ['Telechips', 'TCC8900based device', 'television'],
|
||
|
|
'TCC8920 STB EV': ['Telechips', 'TCC8920based device', 'television'],
|
||
|
|
'OMAP': ['Texas Instruments', 'OMAPbased device'],
|
||
|
|
'OMAP SS': ['Texas Instruments', 'OMAPbased device'],
|
||
|
|
'LogicPD Zoom2': ['Texas Instruments', 'OMAPbased device'],
|
||
|
|
'omap3evm': ['Texas Instruments', 'OMAP3based device'],
|
||
|
|
'Omap5sevm': ['Texas Instruments', 'OMAP5based device'],
|
||
|
|
'pnx8473 kiryung': ['Trident', 'PNX8473based device', 'television'],
|
||
|
|
'crespo': ['Google', 'Nexus S'],
|
||
|
|
'Crespo': ['Google', 'Nexus S'],
|
||
|
|
'Crespo4G': ['Google', 'Nexus S'],
|
||
|
|
'Passion': ['Google', 'Nexus One'],
|
||
|
|
'Bravo': ['HTC', 'Desire'],
|
||
|
|
'dream': ['HTC', 'Dream'],
|
||
|
|
'Vogue': ['HTC', 'Touch'],
|
||
|
|
'Vendor Optimus': ['LG', 'Optimus'],
|
||
|
|
'Stingray': ['Motorola', 'XOOM', 'tablet'],
|
||
|
|
'Wingray': ['Motorola', 'XOOM', 'tablet'],
|
||
|
|
'maguro': ['Samsung', 'Galaxy Nexus'],
|
||
|
|
'Maguro': ['Samsung', 'Galaxy Nexus'],
|
||
|
|
'Toro-VZW': ['Samsung', 'Galaxy Nexus'],
|
||
|
|
'blaze': ['Texas Instruments', 'Blaze Tablet', 'tablet'],
|
||
|
|
'Blaze': ['Texas Instruments', 'Blaze Tablet', 'tablet'],
|
||
|
|
'Blaze Tablet': ['Texas Instruments', 'Blaze Tablet', 'tablet'],
|
||
|
|
'BlueStacks': ['BlueStacks', 'App Player', 'desktop'],
|
||
|
|
'youwave custom': ['Youwave', 'Android on PC', 'desktop'],
|
||
|
|
'A100': ['Acer', 'Iconia Tab A100', 'tablet'],
|
||
|
|
'A101': ['Acer', 'Iconia Tab A101', 'tablet'],
|
||
|
|
'A200': ['Acer', 'Iconia Tab A200', 'tablet'],
|
||
|
|
'A500': ['Acer', 'Iconia Tab A500', 'tablet'],
|
||
|
|
'A501': ['Acer', 'Iconia Tab A501', 'tablet'],
|
||
|
|
'A510': ['Acer', 'Iconia Tab A510', 'tablet'],
|
||
|
|
'A511': ['Acer', 'Iconia Tab A511', 'tablet'],
|
||
|
|
'A700': ['Acer', 'Iconia Tab A700', 'tablet'],
|
||
|
|
'Acer A800': ['Acer', 'Iconia Tab A800', 'tablet'],
|
||
|
|
'E110': ['Acer', 'beTouch E110'],
|
||
|
|
'E120': ['Acer', 'beTouch E120'],
|
||
|
|
'E130': ['Acer', 'beTouch E130'],
|
||
|
|
'E140': ['Acer', 'beTouch E140'],
|
||
|
|
'E210': ['Acer', 'beTouch E210'],
|
||
|
|
'E310': ['Acer', 'Liquid mini'],
|
||
|
|
'E320': ['Acer', 'Liquid Express'],
|
||
|
|
'E330': ['Acer', 'Liquid Glow'],
|
||
|
|
'E400': ['Acer', 'beTouch E400'],
|
||
|
|
'G100W': ['Acer', 'G100W'],
|
||
|
|
'S100': ['Acer', 'Liquid'],
|
||
|
|
'S110': ['Acer', 'Stream'],
|
||
|
|
'S120': ['Acer', 'Liquid mt'],
|
||
|
|
'S300': ['Acer', 'Iconia Smart'],
|
||
|
|
'S500': ['Acer', 'CloudMobile'],
|
||
|
|
'TD600': ['Acer', 'beTouch TD600'],
|
||
|
|
'Liquid': ['Acer', 'Liquid'],
|
||
|
|
'Liquid E': ['Acer', 'Liquid E'],
|
||
|
|
'Liquid Mt': ['Acer', 'Liquid mt'],
|
||
|
|
'Liquid MT': ['Acer', 'Liquid mt'],
|
||
|
|
'Liquid Metal': ['Acer', 'Liquid mt'],
|
||
|
|
'Stream': ['Acer', 'Stream'],
|
||
|
|
'N700': ['aigo', 'N700', 'tablet'],
|
||
|
|
'M801': ['aigo', 'M801', 'tablet'],
|
||
|
|
'Novo7': ['Ainovo', 'Novo7', 'tablet'],
|
||
|
|
'Novo7 Aurora': ['Ainovo', 'Novo7 Aurora', 'tablet'],
|
||
|
|
'Novo7 Advanced': ['Ainovo', 'Novo7 Advanced', 'tablet'],
|
||
|
|
'Novo7 Advanced2': ['Ainovo', 'Novo7 Advanced 2', 'tablet'],
|
||
|
|
'Novo7 Basic': ['Ainovo', 'Novo7 Basic', 'tablet'],
|
||
|
|
'Novo7 ELF': ['Ainovo', 'Novo7 Elf', 'tablet'],
|
||
|
|
'Novo7 PALADIN': ['Ainovo', 'Novo7 Paladin', 'tablet'],
|
||
|
|
'Novo8 Advanced': ['Ainovo', 'Novo8 Advanced', 'tablet'],
|
||
|
|
'one touch 890': ['Alcatel', 'One Touch 890'],
|
||
|
|
'one touch 890D': ['Alcatel', 'One Touch 890'],
|
||
|
|
'one touch 891': ['Alcatel', 'One Touch 891'],
|
||
|
|
'ONE TOUCH 903': ['Alcatel', 'One Touch 903SHV-E170K'],
|
||
|
|
'one touch 906': ['Alcatel', 'One Touch 906'],
|
||
|
|
'one touch 908': ['Alcatel', 'One Touch 908'],
|
||
|
|
'one touch 908F': ['Alcatel', 'One Touch 908'],
|
||
|
|
'one touch 908S': ['Alcatel', 'One Touch 908'],
|
||
|
|
'one touch 910': ['Alcatel', 'One Touch 910'],
|
||
|
|
'one touch 918': ['Alcatel', 'One Touch 918'],
|
||
|
|
'one touch 918D': ['Alcatel', 'One Touch 918'],
|
||
|
|
'ONE TOUCH 918D': ['Alcatel', 'One Touch 918'],
|
||
|
|
'one touch 918M': ['Alcatel', 'One Touch 918'],
|
||
|
|
'one touch 918N': ['Alcatel', 'One Touch 918'],
|
||
|
|
'one touch 980': ['Alcatel', 'One Touch 980'],
|
||
|
|
'one touch 980A': ['Alcatel', 'One Touch 980'],
|
||
|
|
'one touch 981A': ['Alcatel', 'One Touch 981'],
|
||
|
|
'one touch 986': ['Alcatel', 'One Touch 986'],
|
||
|
|
'one touch 990': ['Alcatel', 'One Touch 990'],
|
||
|
|
'one touch 990A': ['Alcatel', 'One Touch 990'],
|
||
|
|
'one touch 991': ['Alcatel', 'One Touch 991'],
|
||
|
|
'one touch 991D': ['Alcatel', 'One Touch 991'],
|
||
|
|
'ONE TOUCH 993': ['Alcatel', 'One Touch 993'],
|
||
|
|
'one touch 995': ['Alcatel', 'One Touch 995'],
|
||
|
|
'Telenor OneTouch': ['Alcatel', 'One Touch 990'],
|
||
|
|
'OT 918': ['Alcatel', 'One Touch 918'],
|
||
|
|
'Venture': ['Alcatel', 'Venture'],
|
||
|
|
'Allwinner A10': ['AllWinner', 'A10', 'tablet'],
|
||
|
|
'97FC': ['AllWinner', 'A10 97FC', 'tablet'],
|
||
|
|
'Kindle Fire': ['Amazon', 'Kindle Fire', 'tablet'],
|
||
|
|
'Amazon Kindle Fire': ['Amazon', 'Kindle Fire', 'tablet'],
|
||
|
|
'AMD120': ['AnyDATA', 'AnyTAB AMD120', 'tablet'],
|
||
|
|
'MW0811': ['AOC', 'Breeze MW0811', 'tablet'],
|
||
|
|
'MW0821 V2.0': ['AOC', 'Breeze MW0821', 'tablet'],
|
||
|
|
'MW0922': ['AOC', 'Breeze MW0922', 'tablet'],
|
||
|
|
'Apanda A60': ['Apanda', 'A60'],
|
||
|
|
'apanda-A60': ['Apanda', 'A60'],
|
||
|
|
'A80KSC': ['Archos', 'Arnova 8', 'tablet'],
|
||
|
|
'AN7CG2': ['Archos', 'Arnova 7', 'tablet'],
|
||
|
|
'A101B': ['Archos', 'Arnova 10', 'tablet'],
|
||
|
|
'AN10BG2DT': ['Archos', 'Arnova 10 B', 'tablet'],
|
||
|
|
'AN10G2': ['Archos', 'Arnova 10 G2', 'tablet'],
|
||
|
|
'A32': ['Archos', '32', 'media'],
|
||
|
|
'A35DE': ['Archos', '35 Smart Home Phone'],
|
||
|
|
'A43': ['Archos', '43', 'media'],
|
||
|
|
'Archos5': ['Archos', '5', 'media'],
|
||
|
|
'A70H': ['Archos', '7', 'tablet'],
|
||
|
|
'A70HB': ['Archos', '7', 'tablet'],
|
||
|
|
'A70BHT': ['Archos', '7', 'tablet'],
|
||
|
|
'A70CHT': ['Archos', '7C', 'tablet'],
|
||
|
|
'A70S': ['Archos', '70', 'tablet'],
|
||
|
|
'A7EB': ['Archos', '70B', 'tablet'],
|
||
|
|
'ARCHOS 70it2': ['Archos', '70 IT 2', 'tablet'],
|
||
|
|
'ARCHOS 80G9': ['Archos', '80 G9', 'tablet'],
|
||
|
|
'ARCHOS 101G9': ['Archos', '101 G9', 'tablet'],
|
||
|
|
'A101IT': ['Archos', '101 IT', 'tablet'],
|
||
|
|
'ASTRI': ['ASTRI', 'e-reader', 'ereader'],
|
||
|
|
'eeepc': ['Asus', 'Eee Pc'],
|
||
|
|
'asus laptop': ['Asus', 'Eee Pc'],
|
||
|
|
'ME171': ['Asus', 'Eee Pad MeMO', 'tablet'],
|
||
|
|
'Slider SL101': ['Asus', 'Eee Pad Slider', 'tablet'],
|
||
|
|
'EPAD': ['Asus', 'Eee Pad Transformer', 'tablet'],
|
||
|
|
'TF101': ['Asus', 'Eee Pad Transformer', 'tablet'],
|
||
|
|
'Transformer TF101': ['Asus', 'Eee Pad Transformer', 'tablet'],
|
||
|
|
'Transformer TF101G': ['Asus', 'Eee Pad Transformer', 'tablet'],
|
||
|
|
'TF201': ['Asus', 'Eee Pad Transformer Prime', 'tablet'],
|
||
|
|
'Transformer Prime TF201': ['Asus', 'Eee Pad Transformer Prime', 'tablet'],
|
||
|
|
'Transformer Prime': ['Asus', 'Eee Pad Transformer Prime', 'tablet'],
|
||
|
|
'Transformer Pad TF300T': ['Asus', 'Transformer Pad 300', 'tablet'],
|
||
|
|
'ASUS Transformer TF300T': ['Asus', 'Transformer Pad 300', 'tablet'],
|
||
|
|
'ASUS Transformer Pad TF300T': ['Asus', 'Transformer Pad 300', 'tablet'],
|
||
|
|
'ASUS Transformer Pad TF300TG': ['Asus', 'Transformer Pad 300', 'tablet'],
|
||
|
|
'ASUS Transformer Pad TF700T': ['Asus', 'Transformer Pad Infinity 700', 'tablet'],
|
||
|
|
'ASUS Transformer Pad TF700K': ['Asus', 'Transformer Pad Infinity 700', 'tablet'],
|
||
|
|
'ASUS Transformer TF700K': ['Asus', 'Transformer Pad Infinity 700', 'tablet'],
|
||
|
|
'PadFone': ['Asus', 'Padfone', 'tablet'],
|
||
|
|
'OMS TTD': ['Asus', 'Eee Pc T10'],
|
||
|
|
'ASUS T20': ['Asus', 'Eee Pc T20'],
|
||
|
|
'ETBW11AA': ['Asus', 'Tough'],
|
||
|
|
'AUX V900': ['AUX', 'V900'],
|
||
|
|
'M910A': ['AUX', 'M910'],
|
||
|
|
'PICOpad-QGN': ['Axioo', 'Picopad QGN', 'tablet'],
|
||
|
|
'NOOK': ['Barnes & Noble', 'NOOK', 'ereader'],
|
||
|
|
'NookColor': ['Barnes & Noble', 'NOOK Color', 'ereader'],
|
||
|
|
'NOOK BNRV200': ['Barnes & Noble', 'NOOK Color', 'ereader'],
|
||
|
|
'NOOK BNRV300': ['Barnes & Noble', 'NOOK Color', 'ereader'],
|
||
|
|
'NookTablet': ['Barnes & Noble', 'NOOK Tablet', 'ereader'],
|
||
|
|
'Nook Tablet': ['Barnes & Noble', 'NOOK Tablet', 'ereader'],
|
||
|
|
'NOOK BNTV250': ['Barnes & Noble', 'NOOK Tablet', 'ereader'],
|
||
|
|
'NOOK BNTV250A': ['Barnes & Noble', 'NOOK Tablet', 'ereader'],
|
||
|
|
'BNTV250': ['Barnes & Noble', 'NOOK Tablet', 'ereader'],
|
||
|
|
'BNTV250A': ['Barnes & Noble', 'NOOK Tablet', 'ereader'],
|
||
|
|
'NOOK Slate': ['Barnes & Noble', 'NOOK Tablet', 'ereader'],
|
||
|
|
'BenWee 5100': ['BenWee', '5100'],
|
||
|
|
'CA907AAC0G': ['Besta', 'CA907AAC0G'],
|
||
|
|
'BM999': ['Bmorn', 'BM999', 'tablet'],
|
||
|
|
'V11': ['Bmorn', 'V11', 'tablet'],
|
||
|
|
'V99': ['Bmorn', 'V99', 'tablet'],
|
||
|
|
'bq DaVinci': ['bq', 'DaVinci', 'tablet'],
|
||
|
|
'CT704': ['Carrefour', 'CT704', 'tablet'],
|
||
|
|
'CT1002': ['Carrefour', 'CT1002', 'tablet'],
|
||
|
|
'Camangi-Mangrove7': ['Camangi', 'Mangrove 7', 'tablet'],
|
||
|
|
'WS171': ['Camangi', 'WebStation', 'tablet'],
|
||
|
|
'IS11CA': ['Casio', 'GzOne IS11CA'],
|
||
|
|
'C771': ['Casio', 'GzOne Commando'],
|
||
|
|
'CAT NOVA': ['Cat', 'NOVA', 'tablet'],
|
||
|
|
'ARMM3V': ['chinaleap', 'ARMM3V', 'tablet'],
|
||
|
|
'CIUS-7': ['Cisco', 'Cius', 'tablet'],
|
||
|
|
'CIUS-7-AT': ['Cisco', 'Cius', 'tablet'],
|
||
|
|
'CSL Spice MI300': ['CSL', 'Spice MI300'],
|
||
|
|
'CSL-MI410': ['CSL', 'Spice MI410'],
|
||
|
|
'MID1024': ['Coby', 'Kyros MID1024', 'tablet'],
|
||
|
|
'MID1125': ['Coby', 'Kyros MID1125', 'tablet'],
|
||
|
|
'MID1126': ['Coby', 'Kyros MID1126', 'tablet'],
|
||
|
|
'MID7010': ['Coby', 'Kyros MID7010', 'tablet'],
|
||
|
|
'MID7012': ['Coby', 'Kyros MID7012', 'tablet'],
|
||
|
|
'MID7015': ['Coby', 'Kyros MID7015', 'tablet'],
|
||
|
|
'MID7015A': ['Coby', 'Kyros MID7015', 'tablet'],
|
||
|
|
'MID7016': ['Coby', 'Kyros MID7016', 'tablet'],
|
||
|
|
'MID7020': ['Coby', 'Kyros MID7020', 'tablet'],
|
||
|
|
'MID7022': ['Coby', 'Kyros MID7022', 'tablet'],
|
||
|
|
'MID7024': ['Coby', 'Kyros MID7024', 'tablet'],
|
||
|
|
'MID7025': ['Coby', 'Kyros MID7025', 'tablet'],
|
||
|
|
'MID7127': ['Coby', 'Kyros MID7127', 'tablet'],
|
||
|
|
'MID8024': ['Coby', 'Kyros MID8024', 'tablet'],
|
||
|
|
'MID8125': ['Coby', 'Kyros MID8125', 'tablet'],
|
||
|
|
'MID8127': ['Coby', 'Kyros MID8127', 'tablet'],
|
||
|
|
'Z71': ['Commtiva', 'Z71'],
|
||
|
|
'V-T100': ['Commtiva', 'V-T100'],
|
||
|
|
'FIH-FB0': ['Commtiva', 'HD700'],
|
||
|
|
'Coolpad D510': ['Coolpad', 'D510'],
|
||
|
|
'Coolpad 8020': ['Coolpad', '8020'],
|
||
|
|
'D530': ['Coolpad', 'D530'],
|
||
|
|
'Coolpad D530': ['Coolpad', 'D530'],
|
||
|
|
'D539': ['Coolpad', 'D539'],
|
||
|
|
'Coolpad D539': ['Coolpad', 'D539'],
|
||
|
|
'E239': ['Coolpad', 'E239'],
|
||
|
|
'Coolpad E239': ['Coolpad', 'E239'],
|
||
|
|
'Coolpad N930': ['Coolpad', 'N930'],
|
||
|
|
'N930': ['Coolpad', 'N930'],
|
||
|
|
'Coolpad W706': ['Coolpad', 'W706'],
|
||
|
|
'Coolpad W706+': ['Coolpad', 'W706'],
|
||
|
|
'Coolpad W708': ['Coolpad', 'W708'],
|
||
|
|
'W711': ['Coolpad', 'W711'],
|
||
|
|
'Coolpad 5010': ['Coolpad', '5010'],
|
||
|
|
'Coolpad 5210': ['Coolpad', '5210'],
|
||
|
|
'Coolpad 5820': ['Coolpad', '5820'],
|
||
|
|
'5832': ['Coolpad', '5832'],
|
||
|
|
'Coolpad 5832': ['Coolpad', '5832'],
|
||
|
|
'5855': ['Coolpad', '5855'],
|
||
|
|
'Coolpad 5860': ['Coolpad', '5860'],
|
||
|
|
'Coolpad 5860+': ['Coolpad', '5860'],
|
||
|
|
'Coolpad 5860s': ['Coolpad', '5860'],
|
||
|
|
'5860': ['Coolpad', '5860'],
|
||
|
|
'5860A': ['Coolpad', '5860'],
|
||
|
|
'Coolpad 5870': ['Coolpad', '5870'],
|
||
|
|
'5870': ['Coolpad', '5870'],
|
||
|
|
'Coolpad 7005': ['Coolpad', '7005'],
|
||
|
|
'7260': ['Coolpad', '7260'],
|
||
|
|
'Coolpad 7019': ['Coolpad', '7019'],
|
||
|
|
'Coolpad 7260': ['Coolpad', '7260'],
|
||
|
|
'Coolpad 8013': ['Coolpad', '8013'],
|
||
|
|
'Coolpad 8809': ['Coolpad', '8809'],
|
||
|
|
'Coolpad 8810': ['Coolpad', '8810'],
|
||
|
|
'8810': ['Coolpad', '8810'],
|
||
|
|
'8150': ['Coolpad', '8150'],
|
||
|
|
'Coolpad 8150D': ['Coolpad', '8150'],
|
||
|
|
|
||
|
|
'Coolpad 8811': ['Coolpad', '8811'],
|
||
|
|
'Coolpad 9900': ['Coolpad', '9900'],
|
||
|
|
'Coolpad 8050': ['Coolpad', '8050'],
|
||
|
|
'ZiiO7': ['Creative', 'ZiiO 7', 'tablet'],
|
||
|
|
'ZiiLABS ZiiO7': ['Creative', 'ZiiO 7', 'tablet'],
|
||
|
|
'ZiiLABS ZiiO10 ': ['Creative', 'ZiiO 10', 'tablet'],
|
||
|
|
'CUBE K8GT A': ['Cube', 'K8GT A', 'tablet'],
|
||
|
|
'CUBE K8GT B': ['Cube', 'K8GT B', 'tablet'],
|
||
|
|
'K8GT C': ['Cube', 'K8GT C', 'tablet'],
|
||
|
|
'K8GT H': ['Cube', 'K8GT H', 'tablet'],
|
||
|
|
'CUBE K8GT H': ['Cube', 'K8GT H', 'tablet'],
|
||
|
|
'K8GT W': ['Cube', 'K8GT W', 'tablet'],
|
||
|
|
'CUBE U8GT': ['Cube', 'U8GT', 'tablet'],
|
||
|
|
'CUBE U9GT': ['Cube', 'U9GT', 'tablet'],
|
||
|
|
'CUBE U9GT 2': ['Cube', 'U9GT 2', 'tablet'],
|
||
|
|
'Cube U9GT2': ['Cube', 'U9GT 2', 'tablet'],
|
||
|
|
'U9GT': ['Cube', 'U9GT', 'tablet'],
|
||
|
|
'U9GT2 From moage.com': ['Cube', 'U9GT 2', 'tablet'],
|
||
|
|
'N90 From moage.com': ['Cube', 'U9GT 2', 'tablet'],
|
||
|
|
'U9GT S': ['Cube', 'U9GT S', 'tablet'],
|
||
|
|
'U9GT S A': ['Cube', 'U9GT SA', 'tablet'],
|
||
|
|
'U9GTS A': ['Cube', 'U9GT SA', 'tablet'],
|
||
|
|
'U10GT 2': ['Cube', 'U10GT 2', 'tablet'],
|
||
|
|
'U10GT S': ['Cube', 'U10GT S', 'tablet'],
|
||
|
|
'U30GT-H': ['Cube', 'U30GT H', 'tablet'],
|
||
|
|
'CUBE Q7PRO': ['Cube', 'Q7 Pro', 'tablet'],
|
||
|
|
'CUBE Q7PRO J': ['Cube', 'Q7 Pro', 'tablet'],
|
||
|
|
'Cydle M7 (v0005.04.03.12.ko)': ['Cydle', 'M7 MultiPAD', 'tablet'],
|
||
|
|
'Dell Aero': ['Dell', 'Aero'],
|
||
|
|
'Dell M01M': ['Dell', 'Mini 5', 'tablet'],
|
||
|
|
'Dell Streak': ['Dell', 'Streak', 'tablet'],
|
||
|
|
'001DL': ['Dell', 'Streak', 'tablet'],
|
||
|
|
'101DL': ['Dell', 'Streak Pro', 'tablet'],
|
||
|
|
'GS01': ['Dell', 'Streak Pro', 'tablet'],
|
||
|
|
'Dell Streak Pro': ['Dell', 'Streak Pro', 'tablet'],
|
||
|
|
'streak7': ['Dell', 'Streak 7', 'tablet'],
|
||
|
|
'Dell Streak 7': ['Dell', 'Streak 7', 'tablet'],
|
||
|
|
'Dell Streak 10 Pro': ['Dell', 'Streak 10 Pro', 'tablet'],
|
||
|
|
'Dell V04B': ['Dell', 'Streak V04B', 'tablet'],
|
||
|
|
'Dell Venue': ['Dell', 'Venue'],
|
||
|
|
'Dell XCD35': ['Dell', 'XCD35'],
|
||
|
|
'XCD35': ['Dell', 'XCD35'],
|
||
|
|
'iDx7': ['Digma', 'iDx7', 'tablet'],
|
||
|
|
'iDx10': ['Digma', 'iDx10', 'tablet'],
|
||
|
|
'iDx10 3G': ['Digma', 'iDx10', 'tablet'],
|
||
|
|
'DM009SH': ['Disney Mobile', 'DM009SH'],
|
||
|
|
'DM010SH': ['Disney Mobile', 'DM010SH'],
|
||
|
|
'DM012SH': ['Disney Mobile', 'DM012SH'],
|
||
|
|
'F-08D': ['Disney Mobile', 'F-08D'],
|
||
|
|
'P-05D': ['Disney Mobile', 'P-05D'],
|
||
|
|
'Tablet-P27': ['DracoTek', 'P27 Tablet', 'tablet'],
|
||
|
|
'edgejr': ['EnTourage', 'Pocket eDGe', 'tablet'],
|
||
|
|
'l97D': ['EPad', 'l97D', 'tablet'],
|
||
|
|
'M4301': ['Eston', 'MID M4301', 'media'],
|
||
|
|
'P10AN': ['Exper', 'Easypad P10AN', 'tablet'],
|
||
|
|
'FIH-F0X': ['FIH', 'F0X'],
|
||
|
|
'Fly IQ260': ['Fly', 'IQ260 BlackBird'],
|
||
|
|
'ISW11F': ['Fujitsu', 'Arrows Z'],
|
||
|
|
'ISW13F': ['Fujitsu', 'Arrows Z'],
|
||
|
|
'IS12F': ['Fujitsu', 'Arrows ES'],
|
||
|
|
'F-01D': ['Fujitsu', 'Arrows Tab LTE', 'tablet'],
|
||
|
|
'F-03D': ['Fujitsu', 'Arrows Kiss'],
|
||
|
|
'F-05D': ['Fujitsu', 'Arrows X LTE'],
|
||
|
|
'F-07D': ['Fujitsu', 'Arrows \u00c3\ufffd\u00c2\u00bc'],
|
||
|
|
'F-10D': ['Fujitsu', 'Arrows X F-10D'],
|
||
|
|
'F-12C': ['Fujitsu', 'Globetrotter'],
|
||
|
|
'f12arc': ['Fujitsu', 'F12arc'],
|
||
|
|
'M532': ['Fujitsu', 'Stylistic M532', 'tablet'],
|
||
|
|
'Garminfone': ['Garmin-Asus', 'Garminfone'],
|
||
|
|
'Garmin-Asus A10': ['Garmin-Asus', 'Nuvifone A10'],
|
||
|
|
'Garmin-Asus A50': ['Garmin-Asus', 'Nuvifone A50'],
|
||
|
|
'TPA60W': ['Gateway', 'TPA60W', 'tablet'],
|
||
|
|
'Geeksphone ZERO': ['Geeksphone', 'ZERO'],
|
||
|
|
'gemei G2': ['Gemei', 'G2', 'tablet'],
|
||
|
|
'Gemei G2': ['Gemei', 'G2', 'tablet'],
|
||
|
|
'gemei G3': ['Gemei', 'G3', 'tablet'],
|
||
|
|
'Gemei G9': ['Gemei', 'G9', 'tablet'],
|
||
|
|
'GSmart G1317D': ['Gigabyte', 'GSmart G1317D'],
|
||
|
|
'Gigabyte TB100': ['Gigabyte', 'TB100', 'tablet'],
|
||
|
|
'GN100': ['Gionee', 'GN100'],
|
||
|
|
'GN105': ['Gionee', 'GN105'],
|
||
|
|
'GN106': ['Gionee', 'GN106'],
|
||
|
|
'GN200': ['Gionee', 'GN200'],
|
||
|
|
'GN205': ['Gionee', 'GN205'],
|
||
|
|
'GN700W': ['Gionee', 'GN700W'],
|
||
|
|
'GN708W': ['Gionee', 'GN708W'],
|
||
|
|
'Google Ion': ['Google', 'Ion'],
|
||
|
|
'Nexus One': ['Google', 'Nexus One'],
|
||
|
|
'NexusOne': ['Google', 'Nexus One'],
|
||
|
|
'HTC Nexus One': ['Google', 'Nexus One'],
|
||
|
|
'Nexus S': ['Google', 'Nexus S'],
|
||
|
|
'Google Nexus S': ['Google', 'Nexus S'],
|
||
|
|
'Nexus S 4G': ['Google', 'Nexus S 4G'],
|
||
|
|
'Dooderbutt-4.0.3-v1': ['Google', 'Nexus S 4G'],
|
||
|
|
'Nexus 7': ['Google', 'Nexus 7', 'tablet'],
|
||
|
|
'Haier HW-W910': ['Haier', 'HW-W910'],
|
||
|
|
'SN10T1': ['HANNspree', 'HANNSpad SN10T1', 'tablet'],
|
||
|
|
'SN10T2': ['HANNspree', 'HANNSpad SN10T2', 'tablet'],
|
||
|
|
'HannsComb': ['HANNspree', 'HANNSpad', 'tablet'],
|
||
|
|
'X1': ['HCL', 'ME X1', 'tablet'],
|
||
|
|
'MID Serails': ['Herotab', 'C8', 'tablet'],
|
||
|
|
'MID Serials': ['Herotab', 'C8', 'tablet'],
|
||
|
|
'COSMO DUO': ['Hiscreen', 'Cosmo DUO', 'tablet'],
|
||
|
|
'HS-U8': ['Hisense', 'U8'],
|
||
|
|
'HS-T92': ['Hisense', 'T92'],
|
||
|
|
'HS-E860': ['Hisense', 'E860'],
|
||
|
|
'HS-E910': ['Hisense', 'E910'],
|
||
|
|
'HS-E926': ['Hisense', 'E926'],
|
||
|
|
|
||
|
|
'HS-EG900': ['Hisense', 'EG900'],
|
||
|
|
'HS-ET919': ['Hisense', 'ET919'],
|
||
|
|
'EG968B': ['Hisense', 'EG968B'],
|
||
|
|
'HKPHONE H8-3G': ['HKPhone', 'H8 3G'],
|
||
|
|
'HOSIN U2': ['Hosin', 'U2'],
|
||
|
|
'Touchpad': ['HP', 'TouchPad', 'tablet'],
|
||
|
|
'HP Touchpad': ['HP', 'TouchPad', 'tablet'],
|
||
|
|
'cm tenderloin': ['HP', 'TouchPad', 'tablet'],
|
||
|
|
'aokp tenderloin': ['HP', 'TouchPad', 'tablet'],
|
||
|
|
'HTC Amaze 4G': ['HTC', 'Amaze 4G'],
|
||
|
|
'HTC Ruby': ['HTC', 'Amaze 4G'],
|
||
|
|
'HTC Amaze 4G(Ruby)': ['HTC', 'Amaze 4G'],
|
||
|
|
'Amaze 4G': ['HTC', 'Amaze 4G'],
|
||
|
|
'HTC Aria': ['HTC', 'Aria'],
|
||
|
|
'HTC Aria A6380': ['HTC', 'Aria'],
|
||
|
|
'HTC Liberty A6380': ['HTC', 'Aria'],
|
||
|
|
'HTC Liberty': ['HTC', 'Aria'],
|
||
|
|
'HTC A6366': ['HTC', 'Aria'],
|
||
|
|
'HTC Bee': ['HTC', 'Bee'],
|
||
|
|
'HTC ChaCha': ['HTC', 'ChaCha'],
|
||
|
|
'HTC ChaCha A810e': ['HTC', 'ChaCha'],
|
||
|
|
'HTC ChaChaCha A810e': ['HTC', 'ChaCha'],
|
||
|
|
'HTC A810e': ['HTC', 'ChaCha'],
|
||
|
|
'HTC A9188': ['HTC', 'Tianxi'],
|
||
|
|
'HTC Bravo': ['HTC', 'Desire'],
|
||
|
|
'HTC Desire': ['HTC', 'Desire'],
|
||
|
|
'HTC Desire A8181': ['HTC', 'Desire'],
|
||
|
|
'HTC Desire A8183': ['HTC', 'Desire'],
|
||
|
|
'HTC Desire Beats A8181': ['HTC', 'Desire'],
|
||
|
|
'HTC Desire CDMA': ['HTC', 'Desire'],
|
||
|
|
'HTC Desire SMS': ['HTC', 'Desire'],
|
||
|
|
'HTC Desire S.M.S': ['HTC', 'Desire'],
|
||
|
|
'HTC Desire C': ['HTC', 'Desire C'],
|
||
|
|
'HTC DesireHD': ['HTC', 'Desire HD'],
|
||
|
|
'HTC DesireHD A9191': ['HTC', 'Desire HD'],
|
||
|
|
'HTC DesireHD A9192': ['HTC', 'Desire HD'],
|
||
|
|
'HTC Desire HD A9191': ['HTC', 'Desire HD'],
|
||
|
|
'HTC A9191': ['HTC', 'Desire HD'],
|
||
|
|
'HTC A9191 for AT&T': ['HTC', 'Desire HD'],
|
||
|
|
'HTC A9192': ['HTC', 'Desire HD'],
|
||
|
|
'HTC Desire HD': ['HTC', 'Desire HD'],
|
||
|
|
'HTC Desire HD with Beats Audio': ['HTC', 'Desire HD'],
|
||
|
|
'HTC Desire S': ['HTC', 'Desire S'],
|
||
|
|
'HTC DesireS': ['HTC', 'Desire S'],
|
||
|
|
'HTC DesiresS': ['HTC', 'Desire S'],
|
||
|
|
'HTC DesireS S510e': ['HTC', 'Desire S'],
|
||
|
|
'HTC DesireS S510b': ['HTC', 'Desire S'],
|
||
|
|
'HTC Desire S S510e': ['HTC', 'Desire S'],
|
||
|
|
'HTC S510e': ['HTC', 'Desire S'],
|
||
|
|
'HTC Desire Saga': ['HTC', 'Desire S'],
|
||
|
|
'HTC Desire V': ['HTC', 'Desire V'],
|
||
|
|
'HTC T328w': ['HTC', 'Desire V'],
|
||
|
|
'HTC Desire VC': ['HTC', 'Desire VC'],
|
||
|
|
'HTC T328d': ['HTC', 'Desire VC'],
|
||
|
|
'HTC T328t': ['HTC', 'Desire VT'],
|
||
|
|
'HTC Desire Z': ['HTC', 'Desire Z'],
|
||
|
|
'HTC DesireZ': ['HTC', 'Desire Z'],
|
||
|
|
'HTC DesireZ A7272': ['HTC', 'Desire Z'],
|
||
|
|
'HTC Desire Z A7272': ['HTC', 'Desire Z'],
|
||
|
|
'HTC Vision': ['HTC', 'Desire Z'],
|
||
|
|
'HTC A7275': ['HTC', 'Desire Z'],
|
||
|
|
'HTC Dream': ['HTC', 'Dream'],
|
||
|
|
'HTC S710d': ['HTC', 'Droid Incredible 2'],
|
||
|
|
'HTC Incredible 2': ['HTC', 'Droid Incredible 2'],
|
||
|
|
'HTC X515d': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC X515m': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC X515C': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC Evo 3D': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC EVO 3D': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC EVO 3D GSM': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC EVO 3D X515a': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC EVO 3D GSM X515m': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC EVO 3D X515m': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC EVO 3D X515M': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC EVO3D X515a': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC EVO3D X515m': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC Evo 3D X515m': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC Evo 3D with Beats Audio X515m': ['HTC', 'EVO 3D'],
|
||
|
|
'HTC Evo 4G': ['HTC', 'EVO 4G'],
|
||
|
|
'HTC EVO 4G': ['HTC', 'EVO 4G'],
|
||
|
|
'HTC X515E': ['HTC', 'EVO 4G+'],
|
||
|
|
'HTC EVO 4G+ For Sprint': ['HTC', 'EVO 4G+'],
|
||
|
|
'HTC EVO 4G++ For Sprint': ['HTC', 'EVO 4G+'],
|
||
|
|
'HTC C715c': ['HTC', 'EVO Design 4G'],
|
||
|
|
'HTC Design 4G': ['HTC', 'EVO Design 4G'],
|
||
|
|
'HTC EVO design 4G': ['HTC', 'EVO Design 4G'],
|
||
|
|
'HTC EVO Design 4G': ['HTC', 'EVO Design 4G'],
|
||
|
|
'HTC Evo Shift': ['HTC', 'EVO Shift'],
|
||
|
|
'HTC EVO Shift 4G': ['HTC', 'EVO Shift'],
|
||
|
|
'HTC A310e': ['HTC', 'Explorer'],
|
||
|
|
'HTC Explorer': ['HTC', 'Explorer'],
|
||
|
|
'HTC Explorer A310b': ['HTC', 'Explorer'],
|
||
|
|
'HTC Explorer A310e': ['HTC', 'Explorer'],
|
||
|
|
'HTC P510e': ['HTC', 'Flyer', 'tablet'],
|
||
|
|
'HTC Flyer': ['HTC', 'Flyer', 'tablet'],
|
||
|
|
'HTC Flyer P510e': ['HTC', 'Flyer', 'tablet'],
|
||
|
|
'HTC Flyer P512': ['HTC', 'Flyer', 'tablet'],
|
||
|
|
'HTC Flyer P512 NA': ['HTC', 'Flyer', 'tablet'],
|
||
|
|
'HTC P515E': ['HTC', 'Flyer 4G', 'tablet'],
|
||
|
|
'HTC Gratia A6380': ['HTC', 'Gratia'],
|
||
|
|
'HTC HD': ['HTC', 'HD'],
|
||
|
|
'HTC HD2': ['HTC', 'HD2'],
|
||
|
|
'HTC HD2 T8585': ['HTC', 'HD2'],
|
||
|
|
'HTC HD2(Leo)': ['HTC', 'HD2'],
|
||
|
|
'HTC HD7': ['HTC', 'HD7'],
|
||
|
|
'HTC T9299+': ['HTC', 'HD7'],
|
||
|
|
'HTC HD7 for Sprint': ['HTC', 'HD7'],
|
||
|
|
'HTC HD7 4G T9299 For AT&T': ['HTC', 'HD7'],
|
||
|
|
'HTC HD7 4G T9299+ For AT&T': ['HTC', 'HD7'],
|
||
|
|
'HTC T9299+ For AT&T': ['HTC', 'HD7'],
|
||
|
|
'HTC HD7S T9399+': ['HTC', 'HD7s'],
|
||
|
|
'HTC HD7S T9899+': ['HTC', 'HD7s'],
|
||
|
|
'HTC T9899+ For AT&T': ['HTC', 'HD7s'],
|
||
|
|
'VitMod ExtraLite 1.6.5.fullodex for HTC HD7 Pro': ['HTC', 'HD7 Pro'],
|
||
|
|
'HTC Hero': ['HTC', 'Hero'],
|
||
|
|
'HTC HERO': ['HTC', 'Hero'],
|
||
|
|
'HTC Hero CDMA': ['HTC', 'Hero'],
|
||
|
|
'HTC HERO CDMA': ['HTC', 'Hero'],
|
||
|
|
'HTC HERO200': ['HTC', 'Hero 200'],
|
||
|
|
'HTC Hero S': ['HTC', 'Hero S'],
|
||
|
|
'HTC IMAGIO': ['HTC', 'Imagio'],
|
||
|
|
'HTC Incredible': ['HTC', 'Incredible'],
|
||
|
|
'HTC Incredible S710E': ['HTC', 'Incredible S'],
|
||
|
|
'HTC S710e': ['HTC', 'Incredible S'],
|
||
|
|
'HTC Incredible S': ['HTC', 'Incredible S'],
|
||
|
|
'HTC Incredible S S710e': ['HTC', 'Incredible S'],
|
||
|
|
'HTC Incredible S s710e': ['HTC', 'Incredible S'],
|
||
|
|
'HTC IncredibleS S710e': ['HTC', 'Incredible S'],
|
||
|
|
'HTC Incredible S with Beats Audio': ['HTC', 'Incredible S'],
|
||
|
|
'HTC Vivo': ['HTC', 'Incredible S'],
|
||
|
|
'HTC Innovation': ['HTC', 'Innovation'],
|
||
|
|
'HTC Inspire 4G': ['HTC', 'Inspire 4G'],
|
||
|
|
'HTC HD7 Inspire 4G For Vodafone': ['HTC', 'Inspire 4G'],
|
||
|
|
'HTC P715a': ['HTC', 'Jetstream', 'tablet'],
|
||
|
|
'HTC Legend': ['HTC', 'Legend'],
|
||
|
|
'HTC Magic': ['HTC', 'Magic'],
|
||
|
|
'HTC Sapphire': ['HTC', 'Magic'],
|
||
|
|
'HTC Lexikon': ['HTC', 'Merge'],
|
||
|
|
'HTC One S': ['HTC', 'One S'],
|
||
|
|
'HTC Z520e': ['HTC', 'One S'],
|
||
|
|
'HTC One V': ['HTC', 'One V'],
|
||
|
|
'HTC T320e': ['HTC', 'One V'],
|
||
|
|
'HTC One X': ['HTC', 'One X'],
|
||
|
|
'HTC S720e': ['HTC', 'One X'],
|
||
|
|
'HTC Endeavour-LS': ['HTC', 'One X'],
|
||
|
|
'HTC One XL': ['HTC', 'One XL'],
|
||
|
|
'HTC X710a': ['HTC', 'Raider 4G'],
|
||
|
|
'HTC Raider': ['HTC', 'Raider 4G'],
|
||
|
|
'HTC Raider X710e': ['HTC', 'Raider 4G'],
|
||
|
|
'HTC Raider X710s': ['HTC', 'Raider 4G'],
|
||
|
|
'HTC Raider 4G X710e': ['HTC', 'Raider 4G'],
|
||
|
|
'HTC PH39100': ['HTC', 'Raider 4G'],
|
||
|
|
'HTC Holiday': ['HTC', 'Raider 4G'],
|
||
|
|
'HTC Velocity 4G X710s': ['HTC', 'Raider 4G'],
|
||
|
|
'HTC Rezound': ['HTC', 'Rezound'],
|
||
|
|
'HTC Rhyme S510b': ['HTC', 'Rhyme'],
|
||
|
|
'HTC S510b': ['HTC', 'Rhyme'],
|
||
|
|
'HTC Bliss': ['HTC', 'Rhyme'],
|
||
|
|
'HTC Bliss S510b': ['HTC', 'Rhyme'],
|
||
|
|
'HTC Salsa C510e': ['HTC', 'Salsa'],
|
||
|
|
'HTC C510e': ['HTC', 'Salsa'],
|
||
|
|
'HTC Z710a': ['HTC', 'Sensation'],
|
||
|
|
'HTC Z710e': ['HTC', 'Sensation'],
|
||
|
|
'HTC Z710t': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation Z710': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation Z710a': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation Z710e': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation Z710E': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation Z710e For AT&T': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation Z710e with Beats Audio': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation with Beats Audio Z710e': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation with Beats Audio': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation Taste': ['HTC', 'Sensation'],
|
||
|
|
'HTC Pyramid': ['HTC', 'Sensation'],
|
||
|
|
'HTC Pyramid Z710a': ['HTC', 'Sensation'],
|
||
|
|
'HTC Pyramid Z710e': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation 4G': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation 4G with Beats Audio': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation G14': ['HTC', 'Sensation'],
|
||
|
|
'HTC Sensation G14 for AT&T': ['HTC', 'Sensation'],
|
||
|
|
'HTC G14 sensation': ['HTC', 'Sensation'],
|
||
|
|
'HTC Z715e': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC Sensation Z715e': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC SensationXE Beats': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC SensationXE Beats Z715a': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC SensationXE Beats Z715e': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC Sensation XE': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC Sensation XE Z715e': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC SensationXE Z715e': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC Sensation XE Beats': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC SensationXE with Beats Audio': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC Sensation XE with Beats Audio': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC Sensation XE with Beats Audio Z715a': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC Sensation Juredroid XE Beats Audio': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC Sensation XE with Beats Audio Z715e': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC Sensation XE With Beats Audio Z715e': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC Sensation 4G XE with Beats Audio': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC Sensation with Beats Audio Z715e': ['HTC', 'Sensation XE'],
|
||
|
|
'HTC X315E': ['HTC', 'Sensation XL'],
|
||
|
|
'HTC SensationXL Beats X315b': ['HTC', 'Sensation XL'],
|
||
|
|
'HTC SensationXL Beats X315e': ['HTC', 'Sensation XL'],
|
||
|
|
'HTC Sensation XL with Beats Audio X315b': ['HTC', 'Sensation XL'],
|
||
|
|
'HTC Sensation XL with Beats Audio X315e': ['HTC', 'Sensation XL'],
|
||
|
|
'HTC Runnymede': ['HTC', 'Sensation XL'],
|
||
|
|
'HTC G21': ['HTC', 'Sensation XL'],
|
||
|
|
'HTC PH06130': ['HTC', 'Status'],
|
||
|
|
'HTC Status': ['HTC', 'Status'],
|
||
|
|
'HTC Tattoo': ['HTC', 'Tattoo'],
|
||
|
|
'HTC TATTOO A3288': ['HTC', 'Tattoo'],
|
||
|
|
'HTC click': ['HTC', 'Tattoo'],
|
||
|
|
'HTC X310e': ['HTC', 'Titan'],
|
||
|
|
'HTC T7373': ['HTC', 'Touch Pro II'],
|
||
|
|
'HTC ThunderBolt': ['HTC', 'ThunderBolt'],
|
||
|
|
'HTC Mecha': ['HTC', 'ThunderBolt'],
|
||
|
|
'HTC Velocity 4G': ['HTC', 'Velocity 4G'],
|
||
|
|
'HTC Wildfire': ['HTC', 'Wildfire'],
|
||
|
|
'HTC Wildfire A3333': ['HTC', 'Wildfire'],
|
||
|
|
'HTC A3366': ['HTC', 'Wildfire'],
|
||
|
|
'HTC A3380': ['HTC', 'Wildfire'],
|
||
|
|
'HTC WildfireS': ['HTC', 'Wildfire S'],
|
||
|
|
'HTC Wildfire S': ['HTC', 'Wildfire S'],
|
||
|
|
'Htc Wildfire s': ['HTC', 'Wildfire S'],
|
||
|
|
'HTC Wildfire S A510e': ['HTC', 'Wildfire S'],
|
||
|
|
'HTC Wildfire S A510b': ['HTC', 'Wildfire S'],
|
||
|
|
'HTC WildfireS A510e': ['HTC', 'Wildfire S'],
|
||
|
|
'HTC WildfireS A510b': ['HTC', 'Wildfire S'],
|
||
|
|
'htc wildfire s a510e': ['HTC', 'Wildfire S'],
|
||
|
|
'HTC Wildfire S A515c': ['HTC', 'Wildfire S'],
|
||
|
|
'HTC A510a': ['HTC', 'Wildfire S'],
|
||
|
|
'HTC A510e': ['HTC', 'Wildfire S'],
|
||
|
|
'HTC A510c': ['HTC', 'Wildfire S'],
|
||
|
|
'HTCX06HT': ['HTC', 'Desire'],
|
||
|
|
'HTC A6390': ['HTC', 'A6390'],
|
||
|
|
'HTC A8180': ['HTC', 'A8180'],
|
||
|
|
'HTC PG762': ['HTC', 'PG762'],
|
||
|
|
'HTC S715e': ['HTC', 'S715e'],
|
||
|
|
'HTC S720t': ['HTC', 'S720t'],
|
||
|
|
'HTC Z510d': ['HTC', 'Z510d'],
|
||
|
|
'HTC Z560e': ['HTC', 'Z560e'],
|
||
|
|
'HTC VLE U': ['HTC', 'One S'],
|
||
|
|
'HTC VLE#U': ['HTC', 'One S'],
|
||
|
|
'HTC VIE U': ['HTC', 'One S'],
|
||
|
|
'HTC EVA UL': ['HTC', 'One V'],
|
||
|
|
'HTC ENR U': ['HTC', 'One X'],
|
||
|
|
'ENR U': ['HTC', 'One X'],
|
||
|
|
'EndeavorU': ['HTC', 'One X'],
|
||
|
|
'Liberty': ['HTC', 'Aria'],
|
||
|
|
'Desire': ['HTC', 'Desire'],
|
||
|
|
'Desire A8181': ['HTC', 'Desire'],
|
||
|
|
'desire hd': ['HTC', 'Desire HD'],
|
||
|
|
'Desire HD': ['HTC', 'Desire HD'],
|
||
|
|
'Dedire HD': ['HTC', 'Desire HD'],
|
||
|
|
'Desire Hd (ace)': ['HTC', 'Desire HD'],
|
||
|
|
'Desire S': ['HTC', 'Desire S'],
|
||
|
|
'DesireS': ['HTC', 'Desire S'],
|
||
|
|
'Desire Saga': ['HTC', 'Desire S'],
|
||
|
|
'Desire Z': ['HTC', 'Desire Z'],
|
||
|
|
'Dream': ['HTC', 'Dream'],
|
||
|
|
'Droid Incredible': ['HTC', 'Droid Incredible'],
|
||
|
|
'EVO': ['HTC', 'EVO'],
|
||
|
|
'Evo HD2': ['HTC', 'EVO HD'],
|
||
|
|
'Evo 3D Beats X515m': ['HTC', 'EVO 3D'],
|
||
|
|
'Evo 3D GSM': ['HTC', 'EVO 3D'],
|
||
|
|
'EVO 3D X515m': ['HTC', 'EVO 3D'],
|
||
|
|
'EVO3D X515m': ['HTC', 'EVO 3D'],
|
||
|
|
'Evo 4G': ['HTC', 'EVO 4G'],
|
||
|
|
'EVO 4G': ['HTC', 'EVO 4G'],
|
||
|
|
'photon': ['HTC', 'HD mini'],
|
||
|
|
'GinDream\/GinMagic': ['HTC', 'Dream'],
|
||
|
|
'HD2': ['HTC', 'HD2'],
|
||
|
|
'HD7 Pro': ['HTC', 'HD7 Pro'],
|
||
|
|
'Hero': ['HTC', 'Hero'],
|
||
|
|
'HERO CDMA': ['HTC', 'Hero'],
|
||
|
|
'HERO200': ['HTC', 'Hero 200'],
|
||
|
|
'Incredible': ['HTC', 'Droid Incredible'],
|
||
|
|
'Incredible 2': ['HTC', 'Droid Incredible 2'],
|
||
|
|
'Incredible S': ['HTC', 'Incredible S'],
|
||
|
|
'IncredibleS S710e': ['HTC', 'Incredible S'],
|
||
|
|
'IncredibleS': ['HTC', 'Incredible S'],
|
||
|
|
'Inspire HD': ['HTC', 'Inspire 4G'],
|
||
|
|
'Inspire 4G': ['HTC', 'Inspire 4G'],
|
||
|
|
'Legend': ['HTC', 'Legend'],
|
||
|
|
'NexusHD2': ['HTC', 'HD2'],
|
||
|
|
'Nexus HD2': ['HTC', 'HD2'],
|
||
|
|
'Docomo HT-03A': ['HTC', 'Magic'],
|
||
|
|
'MIUI.us Sensation 4G': ['HTC', 'Sensation 4G'],
|
||
|
|
'SiRF Dream': ['HTC', 'Dream'],
|
||
|
|
'Pyramid': ['HTC', 'Sensation'],
|
||
|
|
'Sensation': ['HTC', 'Sensation'],
|
||
|
|
'Sensation Z710e': ['HTC', 'Sensation'],
|
||
|
|
'Sensation 4G': ['HTC', 'Sensation'],
|
||
|
|
'Sensation 4g': ['HTC', 'Sensation'],
|
||
|
|
'TripNiCE Pyramid': ['HTC', 'Sensation'],
|
||
|
|
'SensationXE Beats Z715e': ['HTC', 'Sensation XE'],
|
||
|
|
'SensationXL Beats X315e': ['HTC', 'Sensation XL'],
|
||
|
|
'Click': ['HTC', 'Tattoo'],
|
||
|
|
'Wildfire': ['HTC', 'Wildfire'],
|
||
|
|
'Wildfire S': ['HTC', 'Wildfire S'],
|
||
|
|
'Wildfire S A510e': ['HTC', 'Wildfire S'],
|
||
|
|
'Sprint APX515CKT': ['HTC', 'EVO 3D'],
|
||
|
|
'Sprint APA9292KT': ['HTC', 'EVO 4G'],
|
||
|
|
'Sprint APA7373KT': ['HTC', 'EVO Shift 4G'],
|
||
|
|
'Sprint APC715CKT': ['HTC', 'EVO Design 4G'],
|
||
|
|
'A3380': ['HTC', 'Wildfire'],
|
||
|
|
'A6277': ['HTC', 'Hero'],
|
||
|
|
'a7272': ['HTC', 'Desire Z'],
|
||
|
|
'A7272+(HTC DesireZ)': ['HTC', 'Desire Z'],
|
||
|
|
'S31HT': ['HTC', 'Aria'],
|
||
|
|
'S710d': ['HTC', 'Droid Incredible 2'],
|
||
|
|
'S710D': ['HTC', 'Droid Incredible 2'],
|
||
|
|
'X06HT': ['HTC', 'Desire'],
|
||
|
|
'001HT': ['HTC', 'Desire HD'],
|
||
|
|
'X325a': ['HTC', 'One X'],
|
||
|
|
'Z520m': ['HTC', 'One S'],
|
||
|
|
'Z710': ['HTC', 'Sensation'],
|
||
|
|
'Z710e': ['HTC', 'Sensation'],
|
||
|
|
'T9199h': ['HTC', 'T9199h'],
|
||
|
|
'HTC S610d': ['HTC', 'S610d'],
|
||
|
|
'ADR6200': ['HTC', 'Droid Eris'],
|
||
|
|
'ADR6300': ['HTC', 'Droid Incredible'],
|
||
|
|
'ADR6325VW': ['HTC', 'Merge'],
|
||
|
|
'ADR6330VW': ['HTC', 'Rhyme'],
|
||
|
|
'ADR6350': ['HTC', 'Droid Incredible 2'],
|
||
|
|
'ADR6400L': ['HTC', 'Thunderbolt 4G'],
|
||
|
|
'ADR6400L 4G': ['HTC', 'Thunderbolt 4G'],
|
||
|
|
'ADR6410LVW 4G': ['HTC', 'Fireball'],
|
||
|
|
'ADR6425LVW': ['HTC', 'Rezound'],
|
||
|
|
'ADR6425LVW 4G': ['HTC', 'Rezound'],
|
||
|
|
'Coquettish Red': ['HTC', 'Rezound'],
|
||
|
|
'PB99400': ['HTC', 'Droid Incredible'],
|
||
|
|
'pcdadr6350': ['HTC', 'Droid Incredible 2'],
|
||
|
|
'PC36100': ['HTC', 'EVO 4G'],
|
||
|
|
'PG06100': ['HTC', 'EVO Shift 4G'],
|
||
|
|
'PG41200': ['HTC', 'EVO View 4G', 'tablet'],
|
||
|
|
'PG86100': ['HTC', 'EVO 3D'],
|
||
|
|
'PG8610000': ['HTC', 'EVO 3D'],
|
||
|
|
'PH44100': ['HTC', 'EVO Design 4G'],
|
||
|
|
'PJ83100': ['HTC', 'One X'],
|
||
|
|
'ISW11HT': ['HTC', 'EVO 4G'],
|
||
|
|
'ISW12HT': ['HTC', 'EVO 3D'],
|
||
|
|
'ISW13HT': ['HTC', 'J'],
|
||
|
|
'USCCADR6275US Carrier ID 45': ['HTC', 'Desire'],
|
||
|
|
'USCCADR6285US': ['HTC', 'Hero S'],
|
||
|
|
'USCCADR6325US Carrier ID 45': ['HTC', 'Merge'],
|
||
|
|
'MediaPad': ['Huawei', 'MediaPad', 'tablet'],
|
||
|
|
'Huawei MediaPad': ['Huawei', 'MediaPad', 'tablet'],
|
||
|
|
'HUAWEI MediaPad': ['Huawei', 'MediaPad', 'tablet'],
|
||
|
|
'Huawei S7-312u': ['Huawei', 'MediaPad', 'tablet'],
|
||
|
|
'MediaPad 10 FHD': ['Huawei', 'MediaPad', 'tablet'],
|
||
|
|
'Huawei C8500': ['Huawei', 'C8500'],
|
||
|
|
'Huawei C8500S': ['Huawei', 'C8500'],
|
||
|
|
'Huawei C8600': ['Huawei', 'C8600'],
|
||
|
|
'Huawei C8650': ['Huawei', 'C8650'],
|
||
|
|
'Huawei C8650+': ['Huawei', 'C8650'],
|
||
|
|
'Huawei C8800': ['Huawei', 'IDEOS X5'],
|
||
|
|
'Huawei C8810': ['Huawei', 'Ascend G300'],
|
||
|
|
'Huawei C8812': ['Huawei', 'Ascend C8812'],
|
||
|
|
'Huawei C8812E': ['Huawei', 'Ascend C8812'],
|
||
|
|
'Huawei C8825D': ['Huawei', 'Ascend C8825D'],
|
||
|
|
'Huawei C8860E': ['Huawei', 'Honor'],
|
||
|
|
'Huawei M835': ['Huawei', 'M835'],
|
||
|
|
'Huawei M860': ['Huawei', 'Ascend'],
|
||
|
|
'Huawei M921': ['Huawei', 'M921'],
|
||
|
|
'Huawei S8520': ['Huawei', 'S8520'],
|
||
|
|
'Huawei S8600': ['Huawei', 'S8600'],
|
||
|
|
'Huawei T8300': ['Huawei', 'T8300'],
|
||
|
|
'Huawei T8600': ['Huawei', 'T8600'],
|
||
|
|
'Huawei T8830': ['Huawei', 'T8830'],
|
||
|
|
'T8830': ['Huawei', 'T8830'],
|
||
|
|
'T8620': ['Huawei', 'T8620'],
|
||
|
|
'Huawei T8828': ['Huawei', 'T8828'],
|
||
|
|
'Huawei U8220': ['Huawei', 'U8220'],
|
||
|
|
'Huawei u8500': ['Huawei', 'IDEOS X2'],
|
||
|
|
'Huawei U8815': ['Huawei', 'Ascend G300'],
|
||
|
|
'Huawei U8825D': ['Huawei', 'Ascend G330D'],
|
||
|
|
'Huawei U8850': ['Huawei', 'Vision'],
|
||
|
|
'Huawei U8652': ['Huawei', 'Sonic'],
|
||
|
|
'Huawei U8800-51': ['Huawei', 'IDEOS X5'],
|
||
|
|
'Huawei U8818': ['Huawei', 'Ascend G300'],
|
||
|
|
'Huawei U9000': ['Huawei', 'Ascend X'],
|
||
|
|
'Huawei IDEOS U8500': ['Huawei', 'IDEOS X2'],
|
||
|
|
'Huawei IDEOS U8650': ['Huawei', 'Sonic'],
|
||
|
|
'Huawei IDEOS X3': ['Huawei', 'IDEOS X3'],
|
||
|
|
'Huawei Ideos X5': ['Huawei', 'IDEOS X5'],
|
||
|
|
'Huawei Ideos X5 1.12.9(ret4rt)': ['Huawei', 'IDEOS X5'],
|
||
|
|
'Huawei SONIC': ['Huawei', 'Sonic'],
|
||
|
|
'Huawei 8100-9': ['Huawei', 'U8100'],
|
||
|
|
'FUSIONideos': ['Huawei', 'IDEOS'],
|
||
|
|
'Gnappo Ideos': ['Huawei', 'IDEOS'],
|
||
|
|
'Ideos': ['Huawei', 'IDEOS'],
|
||
|
|
'IDEOS X5': ['Huawei', 'IDEOS X5'],
|
||
|
|
'Ideos S7': ['Huawei', 'IDEOS S7', 'tablet'],
|
||
|
|
'IDEOS S7': ['Huawei', 'IDEOS S7', 'tablet'],
|
||
|
|
'IDEOS S7 Slim': ['Huawei', 'IDEOS S7', 'tablet'],
|
||
|
|
'Huawei S7': ['Huawei', 'IDEOS S7', 'tablet'],
|
||
|
|
'SONIC': ['Huawei', 'Sonic'],
|
||
|
|
'Kyivstar Aqua': ['Huawei', 'Sonic'],
|
||
|
|
'Lucky Ultra Sonic U8650': ['Huawei', 'Sonic'],
|
||
|
|
'Turkcell T20': ['Huawei', 'Sonic'],
|
||
|
|
'MTC 950': ['Huawei', 'U8160'],
|
||
|
|
'MTC 955': ['Huawei', 'Sonic'],
|
||
|
|
'MTC Evo': ['Huawei', 'C8500'],
|
||
|
|
'MTC Android': ['Huawei', 'U8110'],
|
||
|
|
'S31HW': ['Huawei', 'Pocket WiFi S'],
|
||
|
|
'S41HW': ['Huawei', 'Pocket WiFi S II'],
|
||
|
|
'007HW': ['Huawei', 'Vision'],
|
||
|
|
'UM840': ['Huawei', 'Evolution'],
|
||
|
|
'M860': ['Huawei', 'Ascend'],
|
||
|
|
'M865': ['Huawei', 'Ascend II'],
|
||
|
|
'M886': ['Huawei', 'Glory'],
|
||
|
|
'C8150': ['Huawei', 'IDEOS'],
|
||
|
|
'c8500': ['Huawei', 'C8500'],
|
||
|
|
'C8500': ['Huawei', 'C8500'],
|
||
|
|
'C8500S': ['Huawei', 'C8500'],
|
||
|
|
'C8600': ['Huawei', 'C8600'],
|
||
|
|
'c8650': ['Huawei', 'C8650'],
|
||
|
|
'C8650': ['Huawei', 'C8650'],
|
||
|
|
'c8800': ['Huawei', 'C8800'],
|
||
|
|
'C8800': ['Huawei', 'C8800'],
|
||
|
|
'c8810': ['Huawei', 'Ascend G300C'],
|
||
|
|
'C8812': ['Huawei', 'Ascend C8812'],
|
||
|
|
'S8600': ['Huawei', 'S8600'],
|
||
|
|
'U8100': ['Huawei', 'U8100'],
|
||
|
|
'U8110': ['Huawei', 'U8110'],
|
||
|
|
'u8120': ['Huawei', 'U8120'],
|
||
|
|
'U8120': ['Huawei', 'U8120'],
|
||
|
|
'U8180': ['Huawei', 'IDEOS X1'],
|
||
|
|
'U8220': ['Huawei', 'Pulse'],
|
||
|
|
'U8300': ['Huawei', 'U8300'],
|
||
|
|
'U8350': ['Huawei', 'Boulder'],
|
||
|
|
'U8150': ['Huawei', 'IDEOS'],
|
||
|
|
'U8160': ['Huawei', 'U8160'],
|
||
|
|
'U8500': ['Huawei', 'IDEOS X2'],
|
||
|
|
'U8500 HiQQ': ['Huawei', 'U8500 HiQQ Edition'],
|
||
|
|
'U8510': ['Huawei', 'IDEOS X3'],
|
||
|
|
'u8650': ['Huawei', 'Sonic'],
|
||
|
|
'U8650': ['Huawei', 'Sonic'],
|
||
|
|
'U8650-1': ['Huawei', 'Sonic'],
|
||
|
|
'U8660': ['Huawei', 'Sonic'],
|
||
|
|
'u8800': ['Huawei', 'IDEOS X5'],
|
||
|
|
'U8800': ['Huawei', 'IDEOS X5'],
|
||
|
|
'U8800+': ['Huawei', 'IDEOS X5'],
|
||
|
|
'U8800X': ['Huawei', 'IDEOS X5'],
|
||
|
|
'U8800pro': ['Huawei', 'IDEOS X5 Pro'],
|
||
|
|
'U8800PRO': ['Huawei', 'IDEOS X5 Pro'],
|
||
|
|
'U8800Pro': ['Huawei', 'IDEOS X5 Pro'],
|
||
|
|
'u8800pro': ['Huawei', 'IDEOS X5 Pro'],
|
||
|
|
'U8800 Pro': ['Huawei', 'IDEOS X5 Pro'],
|
||
|
|
'U8818': ['Huawei', 'Ascend G300'],
|
||
|
|
'U8850': ['Huawei', 'Vision'],
|
||
|
|
'u8860': ['Huawei', 'Honor'],
|
||
|
|
'U8860': ['Huawei', 'Honor'],
|
||
|
|
'U9000': ['Huawei', 'Ascend X'],
|
||
|
|
'U9200': ['Huawei', 'Ascend P1'],
|
||
|
|
'U9200-1': ['Huawei', 'Ascend P1'],
|
||
|
|
'U9500': ['Huawei', 'Ascend D1'],
|
||
|
|
'U9501L': ['Huawei', 'Ascend D LTE'],
|
||
|
|
'U9510': ['Huawei', 'Ascend D quad'],
|
||
|
|
'U9510E': ['Huawei', 'Ascend D quad'],
|
||
|
|
'Comet': ['Huawei', 'Comet'],
|
||
|
|
'GS02': ['Huawei', 'Honor'],
|
||
|
|
'GS03': ['Huawei', 'Ascend P1'],
|
||
|
|
'DroniX-0.5': ['Huawei', 'U8180'],
|
||
|
|
'MTS-SP101': ['Huawei', 'C8511'],
|
||
|
|
'TSP21': ['Huawei', 'U8110'],
|
||
|
|
'HYUNDAI H6': ['Hyundai', 'Storm H6'],
|
||
|
|
'iBall Slide i7011': ['iBall', 'Slide i7011'],
|
||
|
|
'NetTAB RUNE': ['IconBit', 'NetTab Rune', 'tablet'],
|
||
|
|
'D70W': ['Icoo', 'D70W', 'tablet'],
|
||
|
|
'D80': ['Icoo', 'D80', 'tablet'],
|
||
|
|
'INFOBAR A01': ['iida', 'INFOBAR A01'],
|
||
|
|
'M009F': ['Infotmic', 'M009F'],
|
||
|
|
'AZ210A': ['Intel', 'AZ210A'],
|
||
|
|
'AZ210B': ['Intel', 'AZ210B'],
|
||
|
|
'AZ510': ['Intel', 'AZ510'],
|
||
|
|
'greenridge': ['Intel', 'Green Ridge', 'tablet'],
|
||
|
|
'INQ Cloud Touch': ['INQ', 'Cloud Touch'],
|
||
|
|
'ILT-MX100': ['iRiver', 'Tab', 'tablet'],
|
||
|
|
'IVIO_DE38': ['Ivio', 'DE38'],
|
||
|
|
'JY-G2': ['Jiayu', 'G2'],
|
||
|
|
'JXD S601WIFI': ['JXD', 'S601 WIFI', 'media'],
|
||
|
|
'A2': ['KakaTech', 'A2'],
|
||
|
|
'D91': ['KK', 'D91', 'tablet'],
|
||
|
|
'K080': ['Kobo', 'K080', 'ereader'],
|
||
|
|
'A106': ['koobee', 'A160'],
|
||
|
|
'KPT A9': ['KPT', 'A9'],
|
||
|
|
'EV-S100': ['Kttech', 'Take EV-S100'],
|
||
|
|
'KM-S120': ['Kttech', 'Take 2 KM-S120'],
|
||
|
|
'KM-S200': ['TAKE', 'Janus KM-S200'],
|
||
|
|
'KM-S220': ['Kttech', 'Take Tachy KM-S220'],
|
||
|
|
'Kyobo mirasol eReader': ['Kyobo', 'eReader', 'ereader'],
|
||
|
|
'ISW11K': ['Kyocera', 'Digno'],
|
||
|
|
'JC-KSP8000': ['Kyocera', 'Echo'],
|
||
|
|
'KSP8000': ['Kyocera', 'Echo'],
|
||
|
|
'Zio': ['Kyocera', 'Zio'],
|
||
|
|
'C5155': ['Kyocera', 'C5155'],
|
||
|
|
'C5170': ['Kyocera', 'C5170'],
|
||
|
|
'M9300': ['Kyocera', 'M9300'],
|
||
|
|
'E800': ['K-Touch', 'E800'],
|
||
|
|
'W606': ['K-Touch', 'W606'],
|
||
|
|
'K-Touch T619': ['K-Touch', 'T619'],
|
||
|
|
'K-Touch W619': ['K-Touch', 'W619'],
|
||
|
|
'K-Touch W650': ['K-Touch', 'W650'],
|
||
|
|
'W700': ['K-Touch', 'W700'],
|
||
|
|
'W800': ['K-Touch', 'W800'],
|
||
|
|
'W806': ['K-Touch', 'W806'],
|
||
|
|
'W808': ['K-Touch', 'W808'],
|
||
|
|
'W810': ['K-Touch', 'W810'],
|
||
|
|
'X900': ['Lava', 'XOLO X900'],
|
||
|
|
'Lenovo A798t': ['Lenovo', 'A798t'],
|
||
|
|
'LENOVO-Lenovo-A288t': ['Lenovo', 'LePhone A288'],
|
||
|
|
'ThinkPad Tablet': ['Lenovo', 'ThinkPad Tablet', 'tablet'],
|
||
|
|
'K1': ['Lenovo', 'IdeaPad K1', 'tablet'],
|
||
|
|
'Ideapad S10-3T': ['Lenovo', 'IdeaPad S10-3T', 'tablet'],
|
||
|
|
'S2005A-H': ['Lenovo', 'S2005A'],
|
||
|
|
'IdeaTab S2007A-D': ['Lenovo', 'IdeaTab S2007A', 'tablet'],
|
||
|
|
'IdeaTabV2007A': ['Lenovo', 'IdeaTab V2007A', 'tablet'],
|
||
|
|
'IdeaTabV2007A-D-I': ['Lenovo', 'IdeaTab V2007A', 'tablet'],
|
||
|
|
'IdeaTabV2010A': ['Lenovo', 'IdeaTab V2010A', 'tablet'],
|
||
|
|
'IdeaTab A2107A-H': ['Lenovo', 'IdeaTab V2107A', 'tablet'],
|
||
|
|
'A1 07': ['Lenovo', 'LePad', 'tablet'],
|
||
|
|
'lepad 001b': ['Lenovo', 'LePad', 'tablet'],
|
||
|
|
'lepad 001n': ['Lenovo', 'LePad', 'tablet'],
|
||
|
|
'3GC101': ['Lenovo', 'LePhone 3GC101'],
|
||
|
|
'Lenovo 3GC101': ['Lenovo', 'LePhone 3GC101'],
|
||
|
|
'3GW100': ['Lenovo', 'LePhone 3GW100'],
|
||
|
|
'Lenovo 3GW100': ['Lenovo', 'LePhone 3GW100'],
|
||
|
|
'3GW101': ['Lenovo', 'LePhone 3GW101'],
|
||
|
|
'Lenovo 3GW101': ['Lenovo', 'LePhone 3GW101'],
|
||
|
|
'Lephone 3GW101': ['Lenovo', 'LePhone 3GW101'],
|
||
|
|
'Lenovo A1-32AB0': ['Lenovo', 'LePhone A1-32AB0'],
|
||
|
|
'Lenovo S1-37AH0': ['Lenovo', 'LePhone S1-37AH0'],
|
||
|
|
'S1 37AHO': ['Lenovo', 'LePhone S1-37AH0'],
|
||
|
|
'Lenovo S2-38AH0': ['Lenovo', 'LePhone S2-38AH0'],
|
||
|
|
'Lenovo S2-38AT0': ['Lenovo', 'LePhone S2-38AT0'],
|
||
|
|
'Lenovo A288t': ['Lenovo', 'LePhone A288'],
|
||
|
|
'Lenovo A366t': ['Lenovo', 'LePhone A366'],
|
||
|
|
'Lenovo A390e': ['Lenovo', 'LePhone A390'],
|
||
|
|
'Lenovo A500': ['Lenovo', 'LePhone A500'],
|
||
|
|
'Lenovo A520': ['Lenovo', 'LePhone A520'],
|
||
|
|
'Lenovo A560e': ['Lenovo', 'A560'],
|
||
|
|
'Lenovo A668t': ['Lenovo', 'LePhone A668'],
|
||
|
|
'Lenovo A698t': ['Lenovo', 'LePhone A698'],
|
||
|
|
'Lenovo A750': ['Lenovo', 'LePhone A750'],
|
||
|
|
'Lenovo A780': ['Lenovo', 'LePhone A780'],
|
||
|
|
'Lenovo A789': ['Lenovo', 'LePhone A789'],
|
||
|
|
'Lenovo A790e': ['Lenovo', 'LePhone A790'],
|
||
|
|
'Lenovo P70': ['Lenovo', 'LePhone P70'],
|
||
|
|
'Lenovo P700': ['Lenovo', 'LePhone P700'],
|
||
|
|
'Lenovo S850e': ['Lenovo', 'S850'],
|
||
|
|
'Lenovo S880': ['Lenovo', 'S880'],
|
||
|
|
'Lenovo K860': ['Lenovo', 'K860'],
|
||
|
|
'A30t': ['Lenovo', 'A30t'],
|
||
|
|
'Lenovo A60': ['Lenovo', 'A60'],
|
||
|
|
'Lenovo A65': ['Lenovo', 'A65'],
|
||
|
|
'Lenovo A66t': ['Lenovo', 'A66t'],
|
||
|
|
'Lenovo A68e': ['Lenovo', 'A68e'],
|
||
|
|
'Lenovo K800': ['Lenovo', 'K800'],
|
||
|
|
'IDEA TV T100': ['Lenovo', 'IDEA TV', 'television'],
|
||
|
|
'IDEA TV K91': ['Lenovo', 'IDEA TV', 'television'],
|
||
|
|
'TC970': ['Le Pan', 'TC970', 'tablet'],
|
||
|
|
'LePanII': ['Le Pan', 'II', 'tablet'],
|
||
|
|
'LG-C555': ['LG', 'Optimus Chat'],
|
||
|
|
'LG-C555-parrot': ['LG', 'Optimus Chat'],
|
||
|
|
'LG-C660h': ['LG', 'Optimus Pro'],
|
||
|
|
'LG-C729': ['LG', 'DoublePlay'],
|
||
|
|
'LG-C800G': ['LG', 'Eclypse'],
|
||
|
|
'LG-CX670': ['LG', 'Optimus 3G'],
|
||
|
|
'LG-E400': ['LG', 'Optimus L3'],
|
||
|
|
'LG-E400f': ['LG', 'Optimus L3'],
|
||
|
|
'LG-E510': ['LG', 'Optimus Hub'],
|
||
|
|
'LG-E510f': ['LG', 'Optimus Hub'],
|
||
|
|
'LG-E510g': ['LG', 'Optimus Hub'],
|
||
|
|
'LG-E610': ['LG', 'Optimus L5'],
|
||
|
|
'LG-E612': ['LG', 'Optimus L5'],
|
||
|
|
'LG-E612g': ['LG', 'Optimus L5'],
|
||
|
|
'LG-E615F': ['LG', 'E615'],
|
||
|
|
'LG-E617G': ['LG', 'E617'],
|
||
|
|
'LG-E720': ['LG', 'Optimus Chic'],
|
||
|
|
'LG-E720b': ['LG', 'Optimus Chic'],
|
||
|
|
'LG-E730': ['LG', 'Optimus Sol'],
|
||
|
|
'LG-E970': ['LG', 'Shine'],
|
||
|
|
'LG-F100L': ['LG', 'Optimus Vu'],
|
||
|
|
'LG-F100S': ['LG', 'Optimus Vu'],
|
||
|
|
'LG-F120K': ['LG', 'Optimus LTE Tag'],
|
||
|
|
'LG-F120L': ['LG', 'Optimus LTE Tag'],
|
||
|
|
'LG-F120S': ['LG', 'Optimus LTE Tag'],
|
||
|
|
'LG-F160K': ['LG', 'Optimus LTE II'],
|
||
|
|
'LG-F160L': ['LG', 'Optimus LTE II'],
|
||
|
|
'LG-F160S': ['LG', 'Optimus LTE II'],
|
||
|
|
'LG-F180L': ['LG', 'F180L'],
|
||
|
|
'LG-GT540': ['LG', 'Optimus'],
|
||
|
|
'LG-GT540f': ['LG', 'Optimus'],
|
||
|
|
'LG-GT540 Swift': ['LG', 'Optimus'],
|
||
|
|
'LG-GW620': ['LG', 'GW620'],
|
||
|
|
'LG-KH5200': ['LG', 'Andro-1'],
|
||
|
|
'LG-KU3700': ['LG', 'Optimus One'],
|
||
|
|
'LG-KU5400': ['LG', 'PRADA 3.0'],
|
||
|
|
'LG-KU5900': ['LG', 'Optimus Black'],
|
||
|
|
'LG-L40G': ['LG', 'L40G'],
|
||
|
|
'LG-LG855': ['LG', 'Marquee'],
|
||
|
|
'LG-LS670': ['LG', 'Optimus S'],
|
||
|
|
'LG-LS696': ['LG', 'Optimus Elite'],
|
||
|
|
'LG-LS840': ['LG', 'Viper 4G'],
|
||
|
|
'LG-LS855': ['LG', 'Marquee'],
|
||
|
|
'LG-LS860': ['LG', '\'Cayenne\''],
|
||
|
|
'LG-LS970': ['LG', '\'Eclipse\''],
|
||
|
|
'LG-LU3000': ['LG', 'Optimus Mach'],
|
||
|
|
'LG-LU3100': ['LG', 'Optimus Chic'],
|
||
|
|
'LG-LU3700': ['LG', 'Optimus One'],
|
||
|
|
'LG-LU5400': ['LG', 'PRADA 3.0'],
|
||
|
|
'LG-LU6200': ['LG', 'Optimus Q2'],
|
||
|
|
'LG-lu6200': ['LG', 'Optimus Q2'],
|
||
|
|
'LG-LU6500': ['LG', 'Optimus Note'],
|
||
|
|
'LG-LU6800': ['LG', 'Optimus Big'],
|
||
|
|
'LG-LU8300': ['LG', 'Optimus Pad LTE'],
|
||
|
|
'LG-LW690': ['LG', 'Optimus C'],
|
||
|
|
'LG-LW770': ['LG', 'LW770'],
|
||
|
|
'LG-MS690': ['LG', 'Optimus M'],
|
||
|
|
'LG-MS770': ['LG', 'MS770'],
|
||
|
|
'LG-MS840': ['LG', 'Connect 4G'],
|
||
|
|
'LG-MS910': ['LG', 'Esteem'],
|
||
|
|
'LG-MS695': ['LG', 'Optimus M+'],
|
||
|
|
'LG P350': ['LG', 'Optimus Me'],
|
||
|
|
'LG-P350': ['LG', 'Optimus Me'],
|
||
|
|
'LG-P350f': ['LG', 'Optimus Me'],
|
||
|
|
'LG-P350g': ['LG', 'Optimus Me'],
|
||
|
|
'LG-P355': ['LG', 'P355'],
|
||
|
|
'LG-P500': ['LG', 'Optimus One'],
|
||
|
|
'LG-P500h': ['LG', 'Optimus One'],
|
||
|
|
'LG-P500h-parrot': ['LG', 'Optimus One'],
|
||
|
|
'LG-P503': ['LG', 'Optimus One'],
|
||
|
|
'LG-P504': ['LG', 'Optimus One'],
|
||
|
|
'LG-P505': ['LG', 'Phoenix'],
|
||
|
|
'LG-P505R': ['LG', 'Phoenix'],
|
||
|
|
'LG-P506': ['LG', 'Thrive'],
|
||
|
|
'LG-P509': ['LG', 'Optimus T'],
|
||
|
|
'LG-P690': ['LG', 'Optimus Net'],
|
||
|
|
'LG-P693': ['LG', 'P693'],
|
||
|
|
'LG-P698': ['LG', 'Optimus Net'],
|
||
|
|
'LG-P698f': ['LG', 'Optimus Net'],
|
||
|
|
'LG-P700': ['LG', 'Optimus L7'],
|
||
|
|
'LG-P705': ['LG', 'Optimus L7'],
|
||
|
|
'LG-P705f': ['LG', 'Optimus L7'],
|
||
|
|
'LG-P705g': ['LG', 'Optimus L7'],
|
||
|
|
'LG-P708g': ['LG', 'P708'],
|
||
|
|
'LG-P720': ['LG', 'Optimus Chic'],
|
||
|
|
'LG-P720h': ['LG', 'Optimus Chic'],
|
||
|
|
'LG-P725': ['LG', 'Optimus 3D Max'],
|
||
|
|
'LG-P760': ['LG', 'P760'],
|
||
|
|
'LG-P769': ['LG', 'P769'],
|
||
|
|
'LG-P860': ['LG', 'P860'],
|
||
|
|
'LG-P870': ['LG', 'P870'],
|
||
|
|
'LG-P870F': ['LG', 'P870'],
|
||
|
|
'LG-P880': ['LG', 'X3'],
|
||
|
|
'LG-P880g': ['LG', 'X3'],
|
||
|
|
'LG-P895': ['LG', 'P895'],
|
||
|
|
'LG-P920': ['LG', 'Optimus 3D'],
|
||
|
|
'LG-P920h': ['LG', 'Optimus 3D'],
|
||
|
|
'LG-P925': ['LG', 'Thrill'],
|
||
|
|
'LG-P925g': ['LG', 'Thrill'],
|
||
|
|
'LG-P930': ['LG', 'Nitro HD'],
|
||
|
|
'LG-P936': ['LG', 'Optimus LTE'],
|
||
|
|
'LG-P940': ['LG', 'PRADA 3.0'],
|
||
|
|
'LG-P970': ['LG', 'Optimus Black'],
|
||
|
|
'LG-P970h': ['LG', 'Optimus Black'],
|
||
|
|
'LG-P990': ['LG', 'Optimus 2X Speed'],
|
||
|
|
'LG-P990h': ['LG', 'Optimus 2X Speed'],
|
||
|
|
'LG-P990hN': ['LG', 'Optimus 2X Speed'],
|
||
|
|
'LG-P990H': ['LG', 'Optimus 2X Speed'],
|
||
|
|
'LG-P993': ['LG', 'Optimus 2X'],
|
||
|
|
'LG-SU540': ['LG', 'PRADA 3.0'],
|
||
|
|
'LG-SU640': ['LG', 'Optimus LTE'],
|
||
|
|
'LG-SU660': ['LG', 'Optimus 2X'],
|
||
|
|
'LG-SU760': ['LG', 'Optimus 3D'],
|
||
|
|
'LG-SU760-Kust': ['LG', 'Optimus 3D'],
|
||
|
|
'LG-SU870': ['LG', 'Optimus 3D Cube'],
|
||
|
|
'LG-SU880': ['LG', 'Optimus EX'],
|
||
|
|
'LG-US670': ['LG', 'Optimus U'],
|
||
|
|
'LG-US730': ['LG', 'US730'],
|
||
|
|
'LG-V900': ['LG', 'Optimus Pad', 'tablet'],
|
||
|
|
'LG-V905R': ['LG', 'Optimus G-Slate', 'tablet'],
|
||
|
|
'LG-V909': ['LG', 'Optimus G-Slate', 'tablet'],
|
||
|
|
'LG-VM670': ['LG', 'Optimus V'],
|
||
|
|
'LG-VM696': ['LG', 'Optimus Elite'],
|
||
|
|
'LG-VM701': ['LG', 'Optimus Slider'],
|
||
|
|
'LG-VS660': ['LG', 'Vortex'],
|
||
|
|
'LG-VS700': ['LG', 'Enlighten'],
|
||
|
|
'LG-VS740': ['LG', 'Ally'],
|
||
|
|
'LG-VS840': ['LG', 'Connect 4G'],
|
||
|
|
'LG-VS910': ['LG', 'Revolution'],
|
||
|
|
'lgp-970': ['LG', 'Optimus Black'],
|
||
|
|
'E900': ['LG', 'Optimus 7'],
|
||
|
|
'GT540': ['LG', 'Optimus GT540'],
|
||
|
|
'GW620': ['LG', 'GW620'],
|
||
|
|
'KU9500': ['LG', 'Optimus Z'],
|
||
|
|
'LGC660': ['LG', 'Optimus Pro'],
|
||
|
|
'LGL45C': ['LG', 'Optimus Net'],
|
||
|
|
'LGL55C': ['LG', 'Optimus Q'],
|
||
|
|
'LU2300': ['LG', 'Optimus Q'],
|
||
|
|
'LS670': ['LG', 'Optimus S'],
|
||
|
|
'P940': ['LG', 'PRADA 3.0'],
|
||
|
|
'P990': ['LG', 'Optimus 2X Speed'],
|
||
|
|
'USCC-US730': ['LG', 'US730'],
|
||
|
|
'USCC-US760': ['LG', 'Genesis'],
|
||
|
|
'VM670': ['LG', 'Optimus V'],
|
||
|
|
'VS840 4G': ['LG', 'Connect 4G'],
|
||
|
|
'VS900-4G': ['LG', 'VS900'],
|
||
|
|
'VS910 4G': ['LG', 'Revolution 4G'],
|
||
|
|
'VS920 4G': ['LG', 'Spectrum 4G'],
|
||
|
|
'VS930 4G': ['LG', 'VS930'],
|
||
|
|
'VS950 4G': ['LG', 'VS950'],
|
||
|
|
'L-01D': ['LG', 'Optimus LTE'],
|
||
|
|
'L-02D': ['LG', 'PRADA phone'],
|
||
|
|
'L-04C': ['LG', 'Optimus Chat'],
|
||
|
|
'L-05D': ['LG', 'Optimus it'],
|
||
|
|
'L-06C': ['LG', 'Optimus Pad', 'tablet'],
|
||
|
|
'L-06D': ['LG', 'Optimus Vu'],
|
||
|
|
'L-07C': ['LG', 'Optimus Bright'],
|
||
|
|
'LG-Eve': ['LG', 'Eve'],
|
||
|
|
'LG-Optimus One P500': ['LG', 'Optimus One'],
|
||
|
|
'LG-Optimus 2X': ['LG', 'Optimus 2X'],
|
||
|
|
'LG-GT540 Optimus': ['LG', 'Optimus'],
|
||
|
|
'LG-Optimus Black': ['LG', 'Optimus Black'],
|
||
|
|
'Ally': ['LG', 'Ally'],
|
||
|
|
'Optimus': ['LG', 'Optimus'],
|
||
|
|
'Optimus Me': ['LG', 'Optimus Me'],
|
||
|
|
'optimus me p350': ['LG', 'Optimus Me'],
|
||
|
|
'Optimus 2X': ['LG', 'Optimus 2X'],
|
||
|
|
'Optimus 2x': ['LG', 'Optimus 2X'],
|
||
|
|
'IS11LG': ['LG', 'Optimus X'],
|
||
|
|
'Vortex': ['LG', 'Vortex'],
|
||
|
|
'LDK-ICK v1.4': ['LG', 'Esteem'],
|
||
|
|
'T6': ['Malata', 'Zpad T6', 'tablet'],
|
||
|
|
'Malata SMBA1002': ['Malata', 'Tablet SMB-A1002', 'tablet'],
|
||
|
|
'STM712HCZ': ['Mediacom', 'SmartPad 712c', 'tablet'],
|
||
|
|
'STM803HC': ['Mediacom', 'SmartPad 810c', 'tablet'],
|
||
|
|
'Mediacom 810C': ['Mediacom', 'SmartPad 810c', 'tablet'],
|
||
|
|
'Smartpad810c': ['Mediacom', 'SmartPad 810c', 'tablet'],
|
||
|
|
'SmartPad810c': ['Mediacom', 'SmartPad 810c', 'tablet'],
|
||
|
|
'MP810C': ['Mediacom', 'SmartPad 810c', 'tablet'],
|
||
|
|
'MP907C': ['Mediacom', 'SmartPad 907c', 'tablet'],
|
||
|
|
'MTK6516': ['Mediatek', 'MTK6516'],
|
||
|
|
'LIFETAB S9512': ['Medion', 'Lifetab S9512', 'tablet'],
|
||
|
|
'LIFETAB P9514': ['Medion', 'Lifetab P9514', 'tablet'],
|
||
|
|
'MD LIFETAB P9516': ['Medion', 'Lifetab P9516', 'tablet'],
|
||
|
|
'MEDION LIFE P4310': ['Medion', 'Life P4310'],
|
||
|
|
'M8': ['Meizu', 'M8'],
|
||
|
|
'M9': ['Meizu', 'M9'],
|
||
|
|
'M040': ['Meizu', 'M040'],
|
||
|
|
'M9-unlocked': ['Meizu', 'M9'],
|
||
|
|
'meizu m9': ['Meizu', 'M9'],
|
||
|
|
'MEIZU M9': ['Meizu', 'M9'],
|
||
|
|
'MEIZU MX': ['Meizu', 'MX'],
|
||
|
|
'M030': ['Meizu', 'MX M030'],
|
||
|
|
'M031': ['Meizu', 'MX M031'],
|
||
|
|
'M032': ['Meizu', 'MX M032'],
|
||
|
|
'Slidepad': ['Memup', 'Slidepad', 'tablet'],
|
||
|
|
'A45': ['Micromax', 'A45 Punk'],
|
||
|
|
'Micromax A50': ['Micromax', 'A50 Ninja'],
|
||
|
|
'Micromax A60': ['Micromax', 'Andro A60'],
|
||
|
|
'Micromax A70': ['Micromax', 'Andro A70'],
|
||
|
|
'P300(Funbook)': ['Micromax', 'Funbook P300', 'tablet'],
|
||
|
|
'AT735': ['Moinstone', 'AT735', 'tablet'],
|
||
|
|
'A853': ['Motorola', 'Milestone'],
|
||
|
|
'A953': ['Motorola', 'Milestone 2'],
|
||
|
|
'A1680': ['Motorola', 'MOTO A1680'],
|
||
|
|
'ET1': ['Motorola', 'ET1 Enterprise Tablet', 'tablet'],
|
||
|
|
'MB200': ['Motorola', 'CLIQ'],
|
||
|
|
'MB300': ['Motorola', 'BACKFLIP'],
|
||
|
|
'MB501': ['Motorola', 'CLIQ XT'],
|
||
|
|
'MB502': ['Motorola', 'CHARM'],
|
||
|
|
'MB511': ['Motorola', 'FLIPOUT'],
|
||
|
|
'MB520': ['Motorola', 'BRAVO'],
|
||
|
|
'MB525': ['Motorola', 'DEFY'],
|
||
|
|
'MB525+': ['Motorola', 'DEFY'],
|
||
|
|
'MB525 for me': ['Motorola', 'DEFY'],
|
||
|
|
'MB526': ['Motorola', 'DEFY+'],
|
||
|
|
'MB611': ['Motorola', 'CLIQ 2'],
|
||
|
|
'MB612': ['Motorola', 'XPRT'],
|
||
|
|
'MB632': ['Motorola', 'PRO+'],
|
||
|
|
'MB855': ['Motorola', 'PHOTON 4G'],
|
||
|
|
'MB860': ['Motorola', 'ATRIX'],
|
||
|
|
'MB861': ['Motorola', 'ATRIX'],
|
||
|
|
'mb861': ['Motorola', 'ATRIX'],
|
||
|
|
'MB865': ['Motorola', 'ATRIX 2'],
|
||
|
|
'MB870': ['Motorola', 'Droid X2'],
|
||
|
|
'MB886': ['Motorola', 'DINARA'],
|
||
|
|
'ME501': ['Motorola', 'CLIQ XT'],
|
||
|
|
'ME511': ['Motorola', 'FLIPOUT'],
|
||
|
|
'me525': ['Motorola', 'MOTO ME525'],
|
||
|
|
'Me525': ['Motorola', 'MOTO ME525'],
|
||
|
|
'ME525': ['Motorola', 'MOTO ME525'],
|
||
|
|
'ME525+': ['Motorola', 'MOTO ME525'],
|
||
|
|
'ME600': ['Motorola', 'BACKFLIP'],
|
||
|
|
'ME632': ['Motorola', 'PRO+'],
|
||
|
|
'ME722': ['Motorola', 'Milestone 2'],
|
||
|
|
'ME811': ['Motorola', 'Droid X'],
|
||
|
|
'ME860': ['Motorola', 'ATRIX'],
|
||
|
|
'ME863': ['Motorola', 'Milestone 3'],
|
||
|
|
'ME865': ['Motorola', 'ATRIX 2'],
|
||
|
|
'MT620': ['Motorola', 'MOTO MT620'],
|
||
|
|
'MT620t': ['Motorola', 'MOTO MT620'],
|
||
|
|
'MT716': ['Motorola', 'MOTO MT716'],
|
||
|
|
'MT810': ['Motorola', 'MOTO MT810'],
|
||
|
|
'MT870': ['Motorola', 'MOTO MT870'],
|
||
|
|
'MT917': ['Motorola', 'MT917'],
|
||
|
|
'MZ505': ['Motorola', 'XOOM Family Edition', 'tablet'],
|
||
|
|
'MZ600': ['Motorola', 'XOOM 4G LTE', 'tablet'],
|
||
|
|
'MZ601': ['Motorola', 'XOOM 3G', 'tablet'],
|
||
|
|
'MZ602': ['Motorola', 'XOOM 4G LTE', 'tablet'],
|
||
|
|
'MZ603': ['Motorola', 'XOOM 3G', 'tablet'],
|
||
|
|
'MZ604': ['Motorola', 'XOOM WiFi', 'tablet'],
|
||
|
|
'MZ605': ['Motorola', 'XOOM 3G', 'tablet'],
|
||
|
|
'MZ606': ['Motorola', 'XOOM WiFi', 'tablet'],
|
||
|
|
'MZ607': ['Motorola', 'XOOM 2 WiFi Media Edition', 'tablet'],
|
||
|
|
'MZ609': ['Motorola', 'Droid XYBOARD 8.2', 'tablet'],
|
||
|
|
'MZ609 4G': ['Motorola', 'Droid XYBOARD 8.2', 'tablet'],
|
||
|
|
'MZ615': ['Motorola', 'XOOM 2 WiFi', 'tablet'],
|
||
|
|
'MZ617': ['Motorola', 'Droid XYBOARD 10.1', 'tablet'],
|
||
|
|
'MZ617 4G': ['Motorola', 'Droid XYBOARD 10.1', 'tablet'],
|
||
|
|
'WX435': ['Motorola', 'TRIUMPH WX435'],
|
||
|
|
'WX445': ['Motorola', 'CITRUS WX445'],
|
||
|
|
'XT300': ['Motorola', 'SPICE'],
|
||
|
|
'XT301': ['Motorola', 'MOTO XT301'],
|
||
|
|
'XT311': ['Motorola', 'FIRE'],
|
||
|
|
'XT316': ['Motorola', 'MOTO XT316'],
|
||
|
|
'XT319': ['Motorola', 'MOTO XT319'],
|
||
|
|
'XT390': ['Motorola', 'MOTO XT390'],
|
||
|
|
'XT320': ['Motorola', 'DEFY Mini'],
|
||
|
|
'XT321': ['Motorola', 'DEFY Mini'],
|
||
|
|
'XT500': ['Motorola', 'MOTO XT500'],
|
||
|
|
'xt-500': ['Motorola', 'MOTO XT500'],
|
||
|
|
'XT502': ['Motorola', 'QUENCH XT5'],
|
||
|
|
'XT530': ['Motorola', 'FIRE XT'],
|
||
|
|
'XT531': ['Motorola', 'FIRE XT'],
|
||
|
|
'XT532': ['Motorola', 'XT532'],
|
||
|
|
'XT535': ['Motorola', 'DEFY'],
|
||
|
|
'XT550': ['Motorola', 'XT550'],
|
||
|
|
'XT556': ['Motorola', 'XT556'],
|
||
|
|
'XT603': ['Motorola', 'ADMIRAL'],
|
||
|
|
'XT610': ['Motorola', 'Droid Pro'],
|
||
|
|
'XT615': ['Motorola', 'MOTO XT615'],
|
||
|
|
'XT626': ['Motorola', 'MOTO XT626'],
|
||
|
|
'XT681': ['Motorola', 'MOTO XT681'],
|
||
|
|
'XT682': ['Motorola', 'Droid 3'],
|
||
|
|
'XT685': ['Motorola', 'MOTO XT685'],
|
||
|
|
'XT687': ['Motorola', 'ATRIX TV'],
|
||
|
|
'XT701': ['Motorola', 'XT701'],
|
||
|
|
'XT702': ['Motorola', 'MOTO XT702'],
|
||
|
|
'XT711': ['Motorola', 'MOTO XT711'],
|
||
|
|
'XT720': ['Motorola', 'Milestone'],
|
||
|
|
'XT875': ['Motorola', 'Droid Bionic'],
|
||
|
|
'XT800': ['Motorola', 'MOTO XT800'],
|
||
|
|
'XT800+': ['Motorola', 'MOTO XT800'],
|
||
|
|
'XT800W': ['Motorola', 'MOTO Glam'],
|
||
|
|
'XT806': ['Motorola', 'MOTO XT806'],
|
||
|
|
'XT860': ['Motorola', 'Milestone 3'],
|
||
|
|
'XT862': ['Motorola', 'Droid 3'],
|
||
|
|
'XT882': ['Motorola', 'MOTO XT882'],
|
||
|
|
'XT883': ['Motorola', 'Milestone 3'],
|
||
|
|
'XT889': ['Motorola', 'XT889'],
|
||
|
|
'XT897': ['Motorola', 'Droid 4'],
|
||
|
|
'XT901': ['Motorola', 'RAZR'],
|
||
|
|
'XT910': ['Motorola', 'RAZR'],
|
||
|
|
'XT910K': ['Motorola', 'RAZR'],
|
||
|
|
'XT910S': ['Motorola', 'RAZR'],
|
||
|
|
'XT910 4G': ['Motorola', 'RAZR'],
|
||
|
|
'XT912': ['Motorola', 'Droid RAZR'],
|
||
|
|
'XT923': ['Motorola', 'Droid RAZR HD'],
|
||
|
|
'XT925': ['Motorola', 'Droid RAZR HD'],
|
||
|
|
'XT926': ['Motorola', 'Droid RAZR'],
|
||
|
|
'XT926 4G': ['Motorola', 'Droid RAZR'],
|
||
|
|
'XT928': ['Motorola', 'XT928'],
|
||
|
|
'Atrix 2': ['Motorola', 'ATRIX 2'],
|
||
|
|
'Atrix 4g': ['Motorola', 'ATRIX 4G'],
|
||
|
|
'Atrix 4G': ['Motorola', 'ATRIX 4G'],
|
||
|
|
'Atrix 4G ME860': ['Motorola', 'ATRIX 4G'],
|
||
|
|
'CLIQ': ['Motorola', 'CLIQ'],
|
||
|
|
'CLIQ XT': ['Motorola', 'CLIQ XT'],
|
||
|
|
'CLIQ2': ['Motorola', 'CLIQ 2'],
|
||
|
|
'Corvair': ['Motorola', 'Corvair', 'tablet'],
|
||
|
|
'DEFY': ['Motorola', 'DEFY'],
|
||
|
|
'Defy+': ['Motorola', 'DEFY+'],
|
||
|
|
'Defy Plus': ['Motorola', 'DEFY+'],
|
||
|
|
'Devour': ['Motorola', 'Devour'],
|
||
|
|
'Dext': ['Motorola', 'Dext'],
|
||
|
|
'Droid': ['Motorola', 'Droid'],
|
||
|
|
'DROID': ['Motorola', 'Droid'],
|
||
|
|
'DROID2': ['Motorola', 'Droid 2'],
|
||
|
|
'DROID2 GLOBAL': ['Motorola', 'Droid 2'],
|
||
|
|
'DROID2 Global': ['Motorola', 'Droid 2'],
|
||
|
|
'Droid2Global': ['Motorola', 'Droid 2'],
|
||
|
|
'DROID 2': ['Motorola', 'Droid 2'],
|
||
|
|
'DROID3': ['Motorola', 'Droid 3'],
|
||
|
|
'DROID4': ['Motorola', 'Droid 4'],
|
||
|
|
'DROID4 4G': ['Motorola', 'Droid 4'],
|
||
|
|
'DROID Pro': ['Motorola', 'Droid Pro'],
|
||
|
|
'DROID BIONIC': ['Motorola', 'Droid Bionic'],
|
||
|
|
'DROID BIONIC 4G': ['Motorola', 'Droid Bionic'],
|
||
|
|
'DROID BIONIC XT875 4G': ['Motorola', 'Droid Bionic'],
|
||
|
|
'DROIDRAZR': ['Motorola', 'Droid RAZR'],
|
||
|
|
'Droid Razr': ['Motorola', 'Droid RAZR'],
|
||
|
|
'DROID RAZR': ['Motorola', 'Droid RAZR'],
|
||
|
|
'DROID RAZR 4G': ['Motorola', 'Droid RAZR'],
|
||
|
|
'DROID SPYDER': ['Motorola', 'Droid RAZR'],
|
||
|
|
'DROID RAZR HD': ['Motorola', 'Droid RAZR HD'],
|
||
|
|
'DROID RAZR HD 4G': ['Motorola', 'Droid RAZR HD'],
|
||
|
|
'DroidX': ['Motorola', 'Droid X'],
|
||
|
|
'DROIDX': ['Motorola', 'Droid X'],
|
||
|
|
'droid x': ['Motorola', 'Droid X'],
|
||
|
|
'Droid X': ['Motorola', 'Droid X'],
|
||
|
|
'DROID X': ['Motorola', 'Droid X'],
|
||
|
|
'DROID X2': ['Motorola', 'Droid X2'],
|
||
|
|
'Electrify': ['Motorola', 'Electrify'],
|
||
|
|
'Milestone XT720': ['Motorola', 'Milestone'],
|
||
|
|
'Milestone Xt720': ['Motorola', 'Milestone'],
|
||
|
|
'Milestone': ['Motorola', 'Milestone'],
|
||
|
|
'A853 Milestone': ['Motorola', 'Milestone'],
|
||
|
|
'Milestone X': ['Motorola', 'Milestone X'],
|
||
|
|
'Milestone X2': ['Motorola', 'Milestone X2'],
|
||
|
|
'MotoroiX': ['Motorola', 'Droid X'],
|
||
|
|
'Moto Backflip': ['Motorola', 'BACKFLIP'],
|
||
|
|
'RAZR': ['Motorola', 'RAZR'],
|
||
|
|
'Triumph': ['Motorola', 'TRIUMPH'],
|
||
|
|
'Opus One': ['Motorola', 'i1'],
|
||
|
|
'Photon': ['Motorola', 'PHOTON'],
|
||
|
|
'Photon 4G': ['Motorola', 'PHOTON 4G'],
|
||
|
|
'XOOM': ['Motorola', 'XOOM', 'tablet'],
|
||
|
|
'Xoom': ['Motorola', 'XOOM', 'tablet'],
|
||
|
|
'XOOM 2': ['Motorola', 'XOOM 2', 'tablet'],
|
||
|
|
'XOOM 2 ME': ['Motorola', 'XOOM 2', 'tablet'],
|
||
|
|
'XOOM MZ606': ['Motorola', 'XOOM WiFi', 'tablet'],
|
||
|
|
'ISW11M': ['Motorola', 'PHOTON'],
|
||
|
|
'IS12M': ['Motorola', 'RAZR'],
|
||
|
|
'MOTWX435KT': ['Motorola', 'TRIUMPH'],
|
||
|
|
'X3-Ice MIUI XT720 Memorila Classics': ['Motorola', 'Milestone'],
|
||
|
|
'NABI-A': ['Nabi', 'Kids tablet', 'tablet'],
|
||
|
|
'Newpad': ['Newsmy', 'Newpad', 'tablet'],
|
||
|
|
'Newpad-K97': ['Newsmy', 'Newpad K97', 'tablet'],
|
||
|
|
'Newpad P9': ['Newsmy', 'Newpad P9', 'tablet'],
|
||
|
|
'M-PAD N8': ['Newsmy', 'M-pad N8', 'tablet'],
|
||
|
|
'LT-NA7': ['NEC', 'LT-NA7'],
|
||
|
|
'N-01D': ['NEC', 'MEDIAS PP N-01D'],
|
||
|
|
'N-04C': ['NEC', 'MEDIAS N-04C'],
|
||
|
|
'N-04D': ['NEC', 'MEDIAS LTE N-04D'],
|
||
|
|
'N-05D': ['NEC', 'MEDIAS ES N-05D'],
|
||
|
|
'N-06C': ['NEC', 'MEDIAS WP N-06C'],
|
||
|
|
'N-06D': ['NEC', 'MEDIAS Tab N-06D', 'tablet'],
|
||
|
|
'N-07D': ['NEC', 'MEDIAS X N-07D'],
|
||
|
|
'101N': ['NEC', 'MEDIAS CH Softbank 101N'],
|
||
|
|
'IS11N': ['NEC', 'MEDIAS BR IS11N'],
|
||
|
|
'Nexian NX-A890': ['Nexian', 'Journey'],
|
||
|
|
'NX-A891': ['Nexian', 'Ultra Journey'],
|
||
|
|
'M726HC': ['Nextbook', 'Premium 7', 'ereader'],
|
||
|
|
'NXM726HN': ['Nextbook', 'Premium 7', 'ereader'],
|
||
|
|
'NXM803HD': ['Nextbook', 'Premium 8', 'ereader'],
|
||
|
|
'DATAM803HC': ['Nextbook', 'Premium 8', 'ereader'],
|
||
|
|
'NXM901': ['Nextbook', 'Next 3', 'ereader'],
|
||
|
|
'NGM Vanity Smart': ['NGM', 'Vanity Smart'],
|
||
|
|
'Nokia N9': ['Nokia', 'N9'],
|
||
|
|
'Nokia N900': ['Nokia', 'N900'],
|
||
|
|
'Lumia800': ['Nokia', 'Lumia 800'],
|
||
|
|
'Lumia 900': ['Nokia', 'Lumia 900'],
|
||
|
|
'Notion Ink ADAM': ['Notion Ink', 'ADAM', 'tablet'],
|
||
|
|
'P4D SIRIUS': ['Nvsbl', 'P4D SIRIUS', 'tablet'],
|
||
|
|
'P4D Sirius': ['Nvsbl', 'P4D SIRIUS', 'tablet'],
|
||
|
|
'EFM710A': ['Oblio', 'Mint 7x', 'tablet'],
|
||
|
|
'ODYS-Xpress': ['Odys', 'Xpress', 'tablet'],
|
||
|
|
'Olivetti Olipad 100': ['Olivetti', 'Olipad 100', 'tablet'],
|
||
|
|
'OP110': ['Olivetti', 'Olipad 110', 'tablet'],
|
||
|
|
'ONDA MID': ['Onda', 'MID', 'tablet'],
|
||
|
|
'VX580A': ['Onda', 'VX580A', 'tablet'],
|
||
|
|
'VX610A': ['Onda', 'VX610A', 'tablet'],
|
||
|
|
'TQ150': ['Onda', 'TQ150'],
|
||
|
|
'N2T': ['ONN', 'N2T', 'tablet'],
|
||
|
|
'Renesas': ['Opad', 'Renesas', 'tablet'],
|
||
|
|
'renesas emev': ['Opad', 'Renesas', 'tablet'],
|
||
|
|
'X903': ['Oppo', 'Find Me X903'],
|
||
|
|
'X905': ['Oppo', 'Find 3 X905'],
|
||
|
|
'R805': ['Oppo', 'R805'],
|
||
|
|
'R801': ['Oppo', 'R801'],
|
||
|
|
'R811': ['Oppo', 'R811'],
|
||
|
|
'X909': ['Oppo', 'X909'],
|
||
|
|
'OPPOR801': ['Oppo', 'R801'],
|
||
|
|
'OPPOX905': ['Oppo', 'Find 3 X905'],
|
||
|
|
'OPPOX907': ['Oppo', 'Find 3 X907'],
|
||
|
|
'X907': ['Oppo', 'Find 3 X907'],
|
||
|
|
'X9015': ['Oppo', 'Find X9015'],
|
||
|
|
'OPPOX9017': ['Oppo', 'Finder X9017'],
|
||
|
|
'OPPOU701': ['Oppo', 'OPPOU701'],
|
||
|
|
'OPPOR807': ['Oppo', 'Real R807'],
|
||
|
|
'OPPOR805': ['Oppo', 'Real R805'],
|
||
|
|
'R807': ['Oppo', 'Real R807'],
|
||
|
|
'OPPOT703': ['Oppo', 'T703'],
|
||
|
|
'P-01D': ['Panasonic', 'P-01D'],
|
||
|
|
'P-02D': ['Panasonic', 'Lumix Phone'],
|
||
|
|
'P-04D': ['Panasonic', 'Eluga'],
|
||
|
|
'P-07C': ['Panasonic', 'P-07C'],
|
||
|
|
'dL1': ['Panasonic', 'Eluga dL1'],
|
||
|
|
'101P': ['Panasonic', 'Lumix Phone'],
|
||
|
|
'JT-H580VT': ['Panasonic', 'BizPad 7', 'tablet'],
|
||
|
|
'JT-H581VT': ['Panasonic', 'BizPad 10', 'tablet'],
|
||
|
|
'FZ-A1A': ['Panasonic', 'Toughpad', 'tablet'],
|
||
|
|
'pandigital9hr': ['Pandigital', '9HR', 'tablet'],
|
||
|
|
'pandigital9hr2': ['Pandigital', '9HR2', 'tablet'],
|
||
|
|
'pandigitalopc1': ['Pandigital', 'OPC1', 'tablet'],
|
||
|
|
'pandigitalopp1': ['Pandigital', 'OPP1', 'tablet'],
|
||
|
|
'pandigitalp1hr': ['Pandigital', 'p1hr', 'tablet'],
|
||
|
|
'IM-A600S': ['Pantech', 'SIRIUS \u00c3\ufffd\u00c2\u00b1'],
|
||
|
|
'IM-A630K': ['Pantech', 'SKY Izar'],
|
||
|
|
'IM-A690L': ['Pantech', 'SKY'],
|
||
|
|
'IM-A690S': ['Pantech', 'SKY'],
|
||
|
|
'IM-A710K': ['Pantech', 'SKY Vega Xpress'],
|
||
|
|
'IM-A720L': ['Pantech', 'SKY Vega Xpress'],
|
||
|
|
'IM-A725L': ['Pantech', 'SKY Vega X+'],
|
||
|
|
'IM-A730s': ['Pantech', 'SKY Vega S'],
|
||
|
|
'IM-A730S': ['Pantech', 'SKY Vega S'],
|
||
|
|
'IM-A750K': ['Pantech', 'SKY Mirach A'],
|
||
|
|
'IM-A760S': ['Pantech', 'SKY Vega Racer'],
|
||
|
|
'IM-A770K': ['Pantech', 'SKY Vega Racer'],
|
||
|
|
'IM-A780L': ['Pantech', 'SKY Vega Racer'],
|
||
|
|
'IM-A800S': ['Pantech', 'SKY Vega LTE'],
|
||
|
|
'IM-A810K': ['Pantech', 'SKY Vega LTE M'],
|
||
|
|
'IM-A810S': ['Pantech', 'SKY Vega LTE M'],
|
||
|
|
'IM-A820L': ['Pantech', 'SKY Vega LTE EX'],
|
||
|
|
'IM-A830K': ['Pantech', 'SKY Vega Racer 2'],
|
||
|
|
'IM-A830L': ['Pantech', 'SKY Vega Racer 2'],
|
||
|
|
'IM-A830S': ['Pantech', 'SKY Vega Racer 2'],
|
||
|
|
'IM-A840S': ['Pantech', 'SKY Vega S5'],
|
||
|
|
'IM-A850K': ['Pantech', 'IM-A850K'],
|
||
|
|
'IM-T100K': ['Pantech', 'SKY Vega No. 5', 'tablet'],
|
||
|
|
'IS06': ['Pantech', 'SIRIUS \u00c3\ufffd\u00c2\u00b1'],
|
||
|
|
'ADR8995': ['Pantech', 'Breakout'],
|
||
|
|
'ADR8995 4G': ['Pantech', 'Breakout'],
|
||
|
|
'ADR910L 4G': ['Pantech', 'ADR910L'],
|
||
|
|
'PantechP4100': ['Pantech', 'Element', 'tablet'],
|
||
|
|
'PantechP8000': ['Pantech', 'Crossover'],
|
||
|
|
'PantechP8010': ['Pantech', 'P8010'],
|
||
|
|
'PantechP9060': ['Pantech', 'Pocket'],
|
||
|
|
'PantechP9070': ['Pantech', 'Burst'],
|
||
|
|
'SKY IM-A600S': ['Pantech', 'SIRIUS \u00c3\ufffd\u00c2\u00b1'],
|
||
|
|
'SKY IM-A630K': ['Pantech', 'SKY Izar'],
|
||
|
|
'SKY IM-A650S': ['Pantech', 'SKY Vega'],
|
||
|
|
'IS11PT': ['Pantech', 'Mirach IS11PT'],
|
||
|
|
'PAT712W': ['Perfeo', 'PAT712W', 'tablet'],
|
||
|
|
'X7G': ['Pearl', 'Touchlet X7G', 'tablet'],
|
||
|
|
'FWS810': ['PHICOMM', 'FWS810'],
|
||
|
|
'Philips PI5000': ['Philips', 'PI5000', 'tablet'],
|
||
|
|
'PI7000': ['Philips', 'PI7000', 'tablet'],
|
||
|
|
'Philips W626': ['Philips', 'W626'],
|
||
|
|
'Philips W632': ['Philips', 'W632'],
|
||
|
|
'MOMO': ['Ployer', 'MOMO', 'tablet'],
|
||
|
|
'MOMO15': ['Ployer', 'MOMO15', 'tablet'],
|
||
|
|
'PocketBook A7': ['PocketBook', 'A7', 'tablet'],
|
||
|
|
'PocketBook A10': ['PocketBook', 'A10', 'tablet'],
|
||
|
|
'Mobii 7': ['Point Of View', 'Mobii 7', 'tablet'],
|
||
|
|
'PMP3384BRU': ['Prestigio', 'Multipad 3384', 'tablet'],
|
||
|
|
'TB07FTA': ['Positivo', 'TB07FTA', 'tablet'],
|
||
|
|
'QW TB-1207': ['Qware', 'Pro3', 'tablet'],
|
||
|
|
'W6HD ICS': ['Ramos', 'W6HD', 'tablet'],
|
||
|
|
'w10': ['Ramos', 'W10', 'tablet'],
|
||
|
|
'W10': ['Ramos', 'W10', 'tablet'],
|
||
|
|
'w10 v2.0': ['Ramos', 'W10 v2.0', 'tablet'],
|
||
|
|
'W10 V2.0': ['Ramos', 'W10 v2.0', 'tablet'],
|
||
|
|
'T11AD': ['Ramos', 'T11AD', 'tablet'],
|
||
|
|
'T11AD.FE': ['Ramos', 'T11AD', 'tablet'],
|
||
|
|
'PlayBook': ['RIM', 'BlackBerry PlayBook', 'tablet'],
|
||
|
|
'RBK-490': ['Ritmix', 'RBK-490', 'tablet'],
|
||
|
|
'A8HD': ['Saayi', 'Dropad A8HD', 'tablet'],
|
||
|
|
'GT-S7568': ['Samsung', 'S7568'],
|
||
|
|
'Galaxy Nexus': ['Samsung', 'Galaxy Nexus'],
|
||
|
|
'GT-B5330': ['Samsung', 'GT-B5330'],
|
||
|
|
'GT-B5510': ['Samsung', 'Galaxy Y Pro'],
|
||
|
|
'GT-B5510B': ['Samsung', 'Galaxy Y Pro'],
|
||
|
|
'GT-B5510L': ['Samsung', 'Galaxy Y Pro'],
|
||
|
|
'GT-B5512': ['Samsung', 'Galaxy Y Pro Duos'],
|
||
|
|
'GT-B7510': ['Samsung', 'Galaxy Pro'],
|
||
|
|
'GT-B7510L': ['Samsung', 'Galaxy Pro'],
|
||
|
|
'GT-I5500': ['Samsung', 'Galaxy 5'],
|
||
|
|
'GT-I5500B': ['Samsung', 'Galaxy 5'],
|
||
|
|
'GT-I5500L': ['Samsung', 'Galaxy 5'],
|
||
|
|
'GT-I5500M': ['Samsung', 'Galaxy 5'],
|
||
|
|
'GT-I5500-MR3': ['Samsung', 'Galaxy 5'],
|
||
|
|
'GT-I5503': ['Samsung', 'Galaxy 5'],
|
||
|
|
'GT-I5508': ['Samsung', 'Galaxy 5'],
|
||
|
|
'GT-I5510': ['Samsung', 'Galaxy 551'],
|
||
|
|
'GT-I5510L': ['Samsung', 'Galaxy 551'],
|
||
|
|
'GT-I5510M': ['Samsung', 'Galaxy 551'],
|
||
|
|
'GT-I5510T': ['Samsung', 'Galaxy 551'],
|
||
|
|
'GT-I5700': ['Samsung', 'Galaxy Spica'],
|
||
|
|
'GT-I5700L': ['Samsung', 'Galaxy Spica'],
|
||
|
|
'GT-I5800': ['Samsung', 'Galaxy Apollo'],
|
||
|
|
'GT-I5800D': ['Samsung', 'Galaxy Apollo'],
|
||
|
|
'GT-I5800L': ['Samsung', 'Galaxy Apollo'],
|
||
|
|
'GT-I5801': ['Samsung', 'Galaxy Apollo'],
|
||
|
|
'GT-I6500U': ['Samsung', 'Saturn'],
|
||
|
|
'GT-I8000': ['Samsung', 'Omnia 2'],
|
||
|
|
'GT-I8150': ['Samsung', 'Galaxy W'],
|
||
|
|
'GT-I8150B': ['Samsung', 'Galaxy W'],
|
||
|
|
'GT-I8160': ['Samsung', 'Galaxy Ace 2'],
|
||
|
|
'GT-I8160L': ['Samsung', 'Galaxy Ace 2'],
|
||
|
|
'GT-I8160P': ['Samsung', 'Galaxy Ace 2'],
|
||
|
|
'GT-I8320': ['Samsung', 'H1'],
|
||
|
|
'GT-I8520': ['Samsung', 'Galaxy Beam'],
|
||
|
|
'GT-I8530': ['Samsung', 'Galaxy Beam'],
|
||
|
|
'GT-I8250': ['Samsung', 'Galaxy Beam'],
|
||
|
|
'GT-i9000': ['Samsung', 'Galaxy S'],
|
||
|
|
'GT-I9000': ['Samsung', 'Galaxy S'],
|
||
|
|
'GT-I9000B': ['Samsung', 'Galaxy S'],
|
||
|
|
'GT-I9000M': ['Samsung', 'Galaxy S Vibrant'],
|
||
|
|
'GT-I9000T': ['Samsung', 'Galaxy S'],
|
||
|
|
'GT-I9001': ['Samsung', 'Galaxy S Plus'],
|
||
|
|
'GT-I9003': ['Samsung', 'Galaxy SL'],
|
||
|
|
'GT-I9003L': ['Samsung', 'Galaxy SL'],
|
||
|
|
'GT-I9008': ['Samsung', 'Galaxy S'],
|
||
|
|
'GT-I9008L': ['Samsung', 'Galaxy S'],
|
||
|
|
'GT-I9010': ['Samsung', 'Galaxy S Giorgio Armani'],
|
||
|
|
'GT-I9018': ['Samsung', 'Galaxy GT-I9018'],
|
||
|
|
'GT-I9070': ['Samsung', 'Galaxy S Advance'],
|
||
|
|
'GT-I9070P': ['Samsung', 'Galaxy S Advance'],
|
||
|
|
'GT-I9082': ['Samsung', 'Galaxy Grand DUOS'],
|
||
|
|
'GT-I9088': ['Samsung', 'Galaxy S'],
|
||
|
|
'GT-i9100': ['Samsung', 'Galaxy S II'],
|
||
|
|
'GT-I9100': ['Samsung', 'Galaxy S II'],
|
||
|
|
'GT-I9100G': ['Samsung', 'Galaxy S II'],
|
||
|
|
'GT-I9100M': ['Samsung', 'Galaxy S II'],
|
||
|
|
'GT-I9100T': ['Samsung', 'Galaxy S II'],
|
||
|
|
'GT-I9100P': ['Samsung', 'Galaxy S II'],
|
||
|
|
'GT-I9103': ['Samsung', 'Galaxy R'],
|
||
|
|
'GT-I9108': ['Samsung', 'Galaxy S II'],
|
||
|
|
'GT-I9210': ['Samsung', 'Galaxy S II LTE'],
|
||
|
|
'GT-I9210T': ['Samsung', 'Galaxy S II LTE'],
|
||
|
|
'GT-I9220': ['Samsung', 'Galaxy Note'],
|
||
|
|
'GT-I9228': ['Samsung', 'Galaxy Note'],
|
||
|
|
'GT-I9250': ['Samsung', 'Galaxy Nexus'],
|
||
|
|
'GT-I9250 EUR XX': ['Samsung', 'Galaxy Nexus'],
|
||
|
|
'GT-I9260': ['Samsung', 'Galaxy Premier'],
|
||
|
|
'GT-I9300': ['Samsung', 'Galaxy S III'],
|
||
|
|
'GT-I9300T': ['Samsung', 'Galaxy S III'],
|
||
|
|
'GT-I9303T': ['Samsung', 'Galaxy S III'],
|
||
|
|
'GT-I9308': ['Samsung', 'Galaxy S III'],
|
||
|
|
'GT-I9500': ['Samsung', 'Galaxy GT-I9500'],
|
||
|
|
'GT-I9800': ['Samsung', 'Galaxy GT-I9800'],
|
||
|
|
'GT-N7000': ['Samsung', 'Galaxy Note'],
|
||
|
|
'GT-N7000B': ['Samsung', 'Galaxy Note'],
|
||
|
|
'GT-N7100': ['Samsung', 'Galaxy Note II'],
|
||
|
|
'GT-N7102': ['Samsung', 'Galaxy Note II'],
|
||
|
|
'GT-N8000': ['Samsung', 'Galaxy Note 10.1'],
|
||
|
|
'GT-N8010': ['Samsung', 'Galaxy Note 10.1'],
|
||
|
|
'GT-P1000': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'GT-P1000L': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'GT-P1000M': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'GT-P1000N': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'GT-P1000T': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'GT-P1000 Tablet': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'GT-P1010': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'GT-P3100': ['Samsung', 'Galaxy Tab 2 (7.0)', 'tablet'],
|
||
|
|
'GT-P3100B': ['Samsung', 'Galaxy Tab 2 (7.0)', 'tablet'],
|
||
|
|
'GT-P3110': ['Samsung', 'Galaxy Tab 2 (7.0)', 'tablet'],
|
||
|
|
'GT-P3113': ['Samsung', 'Galaxy Tab 2 (7.0)', 'tablet'],
|
||
|
|
'GT-P5100': ['Samsung', 'Galaxy Tab 2 (10.1)', 'tablet'],
|
||
|
|
'GT-P5110': ['Samsung', 'Galaxy Tab 2 (10.1)', 'tablet'],
|
||
|
|
'GT-P5113': ['Samsung', 'Galaxy Tab 2 (10.1)', 'tablet'],
|
||
|
|
'GT-P6200': ['Samsung', 'Galaxy Tab 7.0 Plus', 'tablet'],
|
||
|
|
'GT-P6200L': ['Samsung', 'Galaxy Tab 7.0 Plus', 'tablet'],
|
||
|
|
'GT-P6201': ['Samsung', 'Galaxy Tab 7.0 Plus N', 'tablet'],
|
||
|
|
'GT-P6210': ['Samsung', 'Galaxy Tab 7.0 Plus', 'tablet'],
|
||
|
|
'GT-P6211': ['Samsung', 'Galaxy Tab 7.0 Plus N', 'tablet'],
|
||
|
|
'GT-P6800': ['Samsung', 'Galaxy Tab 7.7', 'tablet'],
|
||
|
|
'GT-P6810': ['Samsung', 'Galaxy Tab 7.7', 'tablet'],
|
||
|
|
'GT-P7100': ['Samsung', 'Galaxy Tab 10.1V', 'tablet'],
|
||
|
|
'GT-P7300': ['Samsung', 'Galaxy Tab 8.9', 'tablet'],
|
||
|
|
'GT-P7300B': ['Samsung', 'Galaxy Tab 8.9', 'tablet'],
|
||
|
|
'GT-P7310': ['Samsung', 'Galaxy Tab 8.9', 'tablet'],
|
||
|
|
'GT-P7320': ['Samsung', 'Galaxy Tab 8.9', 'tablet'],
|
||
|
|
'GT-P7320T': ['Samsung', 'Galaxy Tab 8.9', 'tablet'],
|
||
|
|
'GT-P7500': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'GT-P7500D': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'GT-P7500R': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'GT-P7500V': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'GT-P7501': ['Samsung', 'Galaxy Tab 10.1N', 'tablet'],
|
||
|
|
'GT-P7510': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'GT-P7511': ['Samsung', 'Galaxy Tab 10.1N', 'tablet'],
|
||
|
|
'GT-S5300': ['Samsung', 'Galaxy Pocket'],
|
||
|
|
'GT-S5360': ['Samsung', 'Galaxy Y'],
|
||
|
|
'GT-S5360B': ['Samsung', 'Galaxy Y'],
|
||
|
|
'GT-S5360L': ['Samsung', 'Galaxy Y'],
|
||
|
|
'GT-S5363': ['Samsung', 'Galaxy Y'],
|
||
|
|
'GT-S5367': ['Samsung', 'Galaxy Y TV'],
|
||
|
|
'GT-S5368': ['Samsung', 'GT-S5368'],
|
||
|
|
'GT-S5369': ['Samsung', 'Galaxy Y'],
|
||
|
|
'GT-S5570': ['Samsung', 'Galaxy Mini'],
|
||
|
|
'GT-S5570B': ['Samsung', 'Galaxy Mini'],
|
||
|
|
'GT-S5570I': ['Samsung', 'Galaxy Mini'],
|
||
|
|
'GT-S5570L': ['Samsung', 'Galaxy Mini'],
|
||
|
|
'GT-S5578': ['Samsung', 'Galaxy Mini'],
|
||
|
|
'GT-S5660': ['Samsung', 'Galaxy Gio'],
|
||
|
|
'GT-S5660M': ['Samsung', 'Galaxy Gio'],
|
||
|
|
'GT-S5660V': ['Samsung', 'Galaxy Gio'],
|
||
|
|
'GT-S5670': ['Samsung', 'Galaxy Fit'],
|
||
|
|
'GT-S5670B': ['Samsung', 'Galaxy Fit'],
|
||
|
|
'GT-S5670L': ['Samsung', 'Galaxy Fit'],
|
||
|
|
'GT-S5690': ['Samsung', 'Galaxy Xcover'],
|
||
|
|
'GT-S5690L': ['Samsung', 'Galaxy Xcover'],
|
||
|
|
'GT-S5820': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S5830': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S5830B': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S5830C': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S5830D': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S5830D-parrot': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S5830i': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S5830L': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S5830M': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S5830T': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S5838': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S5839i': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'GT-S6102': ['Samsung', 'Galaxy Y Duos'],
|
||
|
|
'GT-S6102B': ['Samsung', 'Galaxy Y Duos'],
|
||
|
|
'GT-S6500': ['Samsung', 'Galaxy Mini 2'],
|
||
|
|
'GT-S6500D': ['Samsung', 'Galaxy Mini 2'],
|
||
|
|
'GT-S6702': ['Samsung', 'GT-S6702'],
|
||
|
|
'GT-S6802': ['Samsung', 'Galaxy Ace Duos'],
|
||
|
|
'GT-S7500': ['Samsung', 'Galaxy Ace Plus'],
|
||
|
|
'GT-S7500L': ['Samsung', 'Galaxy Ace Plus'],
|
||
|
|
'GT-S7500W': ['Samsung', 'Galaxy Ace Plus'],
|
||
|
|
'GT-T959': ['Samsung', 'Galaxy S Vibrant'],
|
||
|
|
'SCH-i509': ['Samsung', 'Galaxy Y'],
|
||
|
|
'SCH-i559': ['Samsung', 'Galaxy Pop'],
|
||
|
|
'SCH-i569': ['Samsung', 'Galaxy Gio'],
|
||
|
|
'SCH-i579': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'SCH-i589': ['Samsung', 'Galaxy Ace Duos'],
|
||
|
|
'SCH-i705 4G': ['Samsung', 'Galaxy Tab 2 (7.0)', 'tablet'],
|
||
|
|
'SCH-i809': ['Samsung', 'SCH-i809'],
|
||
|
|
'SCH-i889': ['Samsung', 'Galaxy Note'],
|
||
|
|
'SCH-i909': ['Samsung', 'Galaxy S'],
|
||
|
|
'SCH-i919': ['Samsung', 'SCH-i919'],
|
||
|
|
'SCH-i929': ['Samsung', 'SCH-i929'],
|
||
|
|
'SCH-I100': ['Samsung', 'Gem'],
|
||
|
|
'SCH-I110': ['Samsung', 'Illusion'],
|
||
|
|
'SCH-I400': ['Samsung', 'Continuum'],
|
||
|
|
'SCH-I405': ['Samsung', 'Stratosphere'],
|
||
|
|
'SCH-I405 4G': ['Samsung', 'Stratosphere'],
|
||
|
|
'SCH-I500': ['Samsung', 'Fascinate'],
|
||
|
|
'SCH-I510': ['Samsung', 'Stealth V'],
|
||
|
|
'SCH-I510 4G': ['Samsung', 'Droid Charge'],
|
||
|
|
'SCH-I515': ['Samsung', 'Galaxy Nexus'],
|
||
|
|
'SCH-I535': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SCH-I535 4G': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SCH-I619': ['Samsung', 'SCH-I619'],
|
||
|
|
'SCH-I699': ['Samsung', 'SCH-I699'],
|
||
|
|
'SCH-I779': ['Samsung', 'SCH-I779'],
|
||
|
|
'SCH-I800': ['Samsung', 'Galaxy Tab 7.0', 'tablet'],
|
||
|
|
'SCH-I815': ['Samsung', 'Galaxy Tab 7.7', 'tablet'],
|
||
|
|
'SCH-I815 4G': ['Samsung', 'Galaxy Tab 7.7', 'tablet'],
|
||
|
|
'SCH-I905': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'SCH-I905 4G': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'SCH-I909': ['Samsung', 'Galaxy S'],
|
||
|
|
'SCH-I915': ['Samsung', 'SCH-I915'],
|
||
|
|
'SCH-I939': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SCH-M828C': ['Samsung', 'Galaxy Precedent'],
|
||
|
|
'SCH-M828Carray(9096483449)': ['Samsung', 'Galaxy Precedent'],
|
||
|
|
'SCH-R530U': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SCH-R680': ['Samsung', 'Repp'],
|
||
|
|
'SCH-R720': ['Samsung', 'Admire'],
|
||
|
|
'SCH-R730': ['Samsung', 'Transfix'],
|
||
|
|
'SCH-R760': ['Samsung', 'Galaxy S II'],
|
||
|
|
'SCH-R820': ['Samsung', 'SCH-R820'],
|
||
|
|
'SCH-R880': ['Samsung', 'Acclaim'],
|
||
|
|
'SCH-R910': ['Samsung', 'Galaxy Indulge 4G'],
|
||
|
|
'SCH-R915': ['Samsung', 'Galaxy Indulge'],
|
||
|
|
'SCH-R920': ['Samsung', 'Galaxy Attain 4G'],
|
||
|
|
'SCH-R930': ['Samsung', 'Galaxy S Aviator'],
|
||
|
|
'SCH-R940': ['Samsung', 'Galaxy S Lightray'],
|
||
|
|
'SCH-S720C': ['Samsung', 'Galaxy Proclaim'],
|
||
|
|
'SCH-S735C': ['Samsung', 'SCH-S735'],
|
||
|
|
'SCH-W899': ['Samsung', 'SCH-W899'],
|
||
|
|
'SCH-W999': ['Samsung', 'SCH-W999'],
|
||
|
|
'SGH-I547': ['Samsung', 'SGH-I547'],
|
||
|
|
'SGH-I717': ['Samsung', 'Galaxy Note'],
|
||
|
|
'SGH-I717D': ['Samsung', 'Galaxy Note'],
|
||
|
|
'SGH-I717M': ['Samsung', 'Galaxy Note'],
|
||
|
|
'SGH-I717R': ['Samsung', 'Galaxy Note'],
|
||
|
|
'SGH-I727': ['Samsung', 'Galaxy S II Skyrocket'],
|
||
|
|
'SGH-i727R': ['Samsung', 'Galaxy S II'],
|
||
|
|
'SGH-I727R': ['Samsung', 'Galaxy S II'],
|
||
|
|
'SGH-I747': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SGH-I747M': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SGH-I748': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SGH-I757': ['Samsung', 'Galaxy S II Skyrocket HD'],
|
||
|
|
'SGH-I777': ['Samsung', 'Galaxy S II'],
|
||
|
|
'SGH-I9777': ['Samsung', 'Galaxy S II'],
|
||
|
|
'SGH-I896': ['Samsung', 'Captivate'],
|
||
|
|
'SGH-I897': ['Samsung', 'Captivate'],
|
||
|
|
'SGH-I927': ['Samsung', 'Captivate Glide'],
|
||
|
|
'SGH-I927R': ['Samsung', 'Captivate Glide'],
|
||
|
|
'SGH-I957': ['Samsung', 'Galaxy Tab 8.9', 'tablet'],
|
||
|
|
'SGH-I957D': ['Samsung', 'Galaxy Tab 8.9', 'tablet'],
|
||
|
|
'SGH-I957M': ['Samsung', 'Galaxy Tab 8.9', 'tablet'],
|
||
|
|
'SGH-I957R': ['Samsung', 'Galaxy Tab 8.9', 'tablet'],
|
||
|
|
'SGH-I987': ['Samsung', 'Galaxy Tab 7.0', 'tablet'],
|
||
|
|
'SGH-I997': ['Samsung', 'Infuse 4G'],
|
||
|
|
'SGH-I997R': ['Samsung', 'Infuse 4G'],
|
||
|
|
'SGH-I9000': ['Samsung', 'Galaxy S'],
|
||
|
|
'SGH-S730G': ['Samsung', 'SGH-S730'],
|
||
|
|
'SGH-T499': ['Samsung', 'Dart'],
|
||
|
|
'SGH-T499V': ['Samsung', 'Galaxy Mini'],
|
||
|
|
'SGH-T499Y': ['Samsung', 'Galaxy Mini'],
|
||
|
|
'SGH-T589': ['Samsung', 'Gravity Smart'],
|
||
|
|
'SGH-T589R': ['Samsung', 'Gravity Smart'],
|
||
|
|
'SGH-T679': ['Samsung', 'Exhibit II 4G'],
|
||
|
|
'SGH-T679M': ['Samsung', 'Exhibit II 4G'],
|
||
|
|
'SGH-T759': ['Samsung', 'Exhibit 4G'],
|
||
|
|
'SGH-T769': ['Samsung', 'Galaxy S Blaze 4G'],
|
||
|
|
'SGH-T839': ['Samsung', 'T-Mobile Sidekick'],
|
||
|
|
'SGH-T849': ['Samsung', 'Galaxy Tab 7.0', 'tablet'],
|
||
|
|
'SGH-T859': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'SGH-T869': ['Samsung', 'Galaxy Tab 7.0 Plus', 'tablet'],
|
||
|
|
'SGH-T879': ['Samsung', 'Galaxy Note'],
|
||
|
|
'SGH-T959': ['Samsung', 'Vibrant'],
|
||
|
|
'SGH-T959D': ['Samsung', 'Galaxy S Fascinate 3G+'],
|
||
|
|
'SGH-T959P': ['Samsung', 'Galaxy S Fascinate 4G'],
|
||
|
|
'SGH-T959V': ['Samsung', 'Galaxy S 4G'],
|
||
|
|
'SGH-T989': ['Samsung', 'Galaxy S II'],
|
||
|
|
'SGH-T989D': ['Samsung', 'Galaxy S II X'],
|
||
|
|
'SGH-T999': ['Samsung', 'Galaxy S Blaze 4G'],
|
||
|
|
'SGH-T999V': ['Samsung', 'Galaxy S Blaze 4G'],
|
||
|
|
'SHV-E120K': ['Samsung', 'Galaxy S II HD LTE'],
|
||
|
|
'SHV-E120L': ['Samsung', 'Galaxy S II HD LTE'],
|
||
|
|
'SHV-E120S': ['Samsung', 'Galaxy S II HD LTE'],
|
||
|
|
'SHV-E110S': ['Samsung', 'Galaxy S II LTE'],
|
||
|
|
'SHV-E140S': ['Samsung', 'Galaxy Tab 8.9', 'tablet'],
|
||
|
|
'SHV-E150S': ['Samsung', 'Galaxy Tab 7.7', 'tablet'],
|
||
|
|
'SHV-E160K': ['Samsung', 'Galaxy Note'],
|
||
|
|
'SHV-E160L': ['Samsung', 'Galaxy Note LTE'],
|
||
|
|
'SHV-E160S': ['Samsung', 'Galaxy Note LTE'],
|
||
|
|
'SHV-E170K': ['Samsung', 'SHV-E170K'],
|
||
|
|
'SHV-E170L': ['Samsung', 'SHV-E170L'],
|
||
|
|
'SHV-E210K': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SHV-E210L': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SHV-E210S': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SHW-M100S': ['Samsung', 'Galaxy A'],
|
||
|
|
'SHW-M110S': ['Samsung', 'Galaxy S'],
|
||
|
|
'SHW-M130L': ['Samsung', 'Galaxy U'],
|
||
|
|
'SHW-M130K': ['Samsung', 'Galaxy K'],
|
||
|
|
'SHW-M180K': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'SHW-M180L': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'SHW-M180S': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'SHW-M180W': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'SHW-M185S': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'SHW-M190S': ['Samsung', 'Galaxy S Hoppin'],
|
||
|
|
'SHW-M220L': ['Samsung', 'Galaxy Neo'],
|
||
|
|
'SHW-M240S': ['Samsung', 'Galaxy Ace'],
|
||
|
|
'SHW-M250K': ['Samsung', 'Galaxy S II'],
|
||
|
|
'SHW-M250L': ['Samsung', 'Galaxy S II'],
|
||
|
|
'SHW-M250S': ['Samsung', 'Galaxy S II'],
|
||
|
|
'SHW-M300W': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'SHW-M305W': ['Samsung', 'Galaxy Tab 8.9', 'tablet'],
|
||
|
|
'SHW-M340S': ['Samsung', 'Galaxy M Style'],
|
||
|
|
'SHW-M380K': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'SHW-M380S': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'SHW-M380W': ['Samsung', 'Galaxy Tab 10.1', 'tablet'],
|
||
|
|
'SHW-M440S': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SMT-i9100': ['Samsung', 'SMT-I9100', 'tablet'],
|
||
|
|
'SPH-D600': ['Samsung', 'Conquer 4G'],
|
||
|
|
'SPH-D700': ['Samsung', 'Epic 4G'],
|
||
|
|
'SPH-D705': ['Samsung', 'Epic 4G 2'],
|
||
|
|
'SPH-D710': ['Samsung', 'Epic 4G Touch'],
|
||
|
|
'SPH-L700': ['Samsung', 'Galaxy Nexus'],
|
||
|
|
'SPH-L710': ['Samsung', 'Galaxy S III'],
|
||
|
|
'SPH-M820': ['Samsung', 'Galaxy Prevail'],
|
||
|
|
'SPH-M820-BST': ['Samsung', 'Galaxy Prevail'],
|
||
|
|
'SPH-M580': ['Samsung', 'Replenish'],
|
||
|
|
'SPH-M900': ['Samsung', 'Moment'],
|
||
|
|
'SPH-M910': ['Samsung', 'Intercept'],
|
||
|
|
'SPH-M920': ['Samsung', 'Transform'],
|
||
|
|
'SPH-M930': ['Samsung', 'Transform Ultra'],
|
||
|
|
'SPH-M930BST': ['Samsung', 'Transform Ultra'],
|
||
|
|
'SPH-P100': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'YP-GB1': ['Samsung', 'Galaxy Player', 'media'],
|
||
|
|
'YP-GB70': ['Samsung', 'Galaxy Player 70', 'media'],
|
||
|
|
'YP-GB70D': ['Samsung', 'Galaxy Player 70 Plus', 'media'],
|
||
|
|
'YP-GS1': ['Samsung', 'Galaxy S WiFi 3.6', 'media'],
|
||
|
|
'YP-G1': ['Samsung', 'Galaxy S WiFi 4.0', 'media'],
|
||
|
|
'YP-GI1': ['Samsung', 'Galaxy S WiFi 4.2', 'media'],
|
||
|
|
'YP-G50': ['Samsung', 'Galaxy Player', 'media'],
|
||
|
|
'YP-G70': ['Samsung', 'Galaxy S WiFi 5.0', 'media'],
|
||
|
|
'GT9100': ['Samsung', 'Galaxy S II'],
|
||
|
|
'I897': ['Samsung', 'Captivate'],
|
||
|
|
'I7500': ['Samsung', 'Galaxy'],
|
||
|
|
'I9000': ['Samsung', 'Galaxy S'],
|
||
|
|
'T959': ['Samsung', 'Galaxy S Vibrant'],
|
||
|
|
'Captivate-I897': ['Samsung', 'Captivate'],
|
||
|
|
'Galaxy': ['Samsung', 'Galaxy'],
|
||
|
|
'Galaxy Note': ['Samsung', 'Galaxy Note'],
|
||
|
|
'GalaxyS': ['Samsung', 'Galaxy S'],
|
||
|
|
'Galaxy S II': ['Samsung', 'Galaxy S II'],
|
||
|
|
'Galaxy X': ['Samsung', 'Galaxy X'],
|
||
|
|
'Galaxy Spica': ['Samsung', 'Galaxy Spica'],
|
||
|
|
'GALAXY Tab': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'GALAXY NEXUS': ['Samsung', 'Galaxy Nexus'],
|
||
|
|
'Vibrantmtd': ['Samsung', 'Vibrant'],
|
||
|
|
'SC-01C': ['Samsung', 'Galaxy Tab', 'tablet'],
|
||
|
|
'SC-01D': ['Samsung', 'Galaxy Tab 10.1 LTE', 'tablet'],
|
||
|
|
'SC-02B': ['Samsung', 'Galaxy S'],
|
||
|
|
'SC-02C': ['Samsung', 'Galaxy S II'],
|
||
|
|
'SC-02D': ['Samsung', 'Galaxy Tab 7.0 Plus', 'tablet'],
|
||
|
|
'SC-03D': ['Samsung', 'Galaxy S II LTE'],
|
||
|
|
'SC-04D': ['Samsung', 'Galaxy Nexus'],
|
||
|
|
'SC-05D': ['Samsung', 'Galaxy Note LTE'],
|
||
|
|
'SC-06D': ['Samsung', 'Galaxy S III'],
|
||
|
|
'ISW11SC': ['Samsung', 'Galaxy S II WiMAX'],
|
||
|
|
'GT-S7562': ['Samsung', 'GT-S7562'],
|
||
|
|
'GT-S7562i': ['Samsung', 'GT-S7562i'],
|
||
|
|
'A01SH': ['Sharp', 'A01SH'],
|
||
|
|
'IS01': ['Sharp', 'IS01'],
|
||
|
|
'IS03': ['Sharp', 'IS03'],
|
||
|
|
'IS05': ['Sharp', 'IS05'],
|
||
|
|
'IS11SH': ['Sharp', 'Aquos IS11SH'],
|
||
|
|
'IS12SH': ['Sharp', 'Aquos IS12SH'],
|
||
|
|
'IS13SH': ['Sharp', 'Aquos IS13SH'],
|
||
|
|
'IS14SH': ['Sharp', 'Aquos IS14SH'],
|
||
|
|
'ISW16SH': ['Sharp', 'Aquos ISW16SH'],
|
||
|
|
'EB-W51GJ': ['Sharp', 'EB-W51GJ'],
|
||
|
|
'SBM003SH': ['Sharp', 'Galapagos'],
|
||
|
|
'SBM005SH': ['Sharp', 'Galapagos'],
|
||
|
|
'SBM006SH': ['Sharp', 'Aquos'],
|
||
|
|
'SBM007SH': ['Sharp', 'Aquos 007SH'],
|
||
|
|
'SBM009SH': ['Sharp', 'Aquos 009SH'],
|
||
|
|
'SBM102SH': ['Sharp', 'Aquos 102SH'],
|
||
|
|
'SBM103SH': ['Sharp', 'Aquos 103SH'],
|
||
|
|
'SBM104SH': ['Sharp', 'Aquos 104SH'],
|
||
|
|
'SBM107SH': ['Sharp', 'Aquos 107SH'],
|
||
|
|
'SBM107SHB': ['Sharp', 'Aquos 107SH'],
|
||
|
|
'SH-01D': ['Sharp', 'Aquos SH-01D'],
|
||
|
|
'SH-02D': ['Sharp', 'Aquos slider SH-02D'],
|
||
|
|
'SH-03C': ['Sharp', 'Lynx 3D'],
|
||
|
|
'SH-06D': ['Sharp', 'Aquos SH-06D'],
|
||
|
|
'SH-09D': ['Sharp', 'Aquos Zeta SH-09D'],
|
||
|
|
'SH-10B': ['Sharp', 'Lynx'],
|
||
|
|
'SH-12C': ['Sharp', 'Aquos'],
|
||
|
|
'SH-13C': ['Sharp', 'Aquos f SH-13C'],
|
||
|
|
'SH80F': ['Sharp', 'Aquos SH80F'],
|
||
|
|
'SH72x8U': ['Sharp', 'SH72x8U'],
|
||
|
|
'SH8118U': ['Sharp', 'SH8118U'],
|
||
|
|
'SH8128U': ['Sharp', 'SH8128U'],
|
||
|
|
'SH8158U': ['Sharp', 'SH8158U'],
|
||
|
|
'SH8188U': ['Sharp', 'SH8188U'],
|
||
|
|
'SH8268U': ['Sharp', 'SH8268U'],
|
||
|
|
'INFOBAR C01': ['Sharp', 'INFOBAR C01'],
|
||
|
|
'SPX-5': ['Simvalley', 'SPX-5'],
|
||
|
|
'SPX-5 3G': ['Simvalley', 'SPX-5 3G'],
|
||
|
|
'SmartQ G7': ['SmartQ', 'G7', 'tablet'],
|
||
|
|
'SmartQT7': ['SmartQ', 'T7', 'tablet'],
|
||
|
|
'SmartQT10': ['SmartQ', 'T10', 'tablet'],
|
||
|
|
'SmartQT15': ['SmartQ', 'T15', 'tablet'],
|
||
|
|
'SmartQT19': ['SmartQ', 'T19', 'tablet'],
|
||
|
|
'SmartQT20': ['SmartQ', 'T20', 'tablet'],
|
||
|
|
'OMS1 6': ['Sony Ericsson', 'A8i'],
|
||
|
|
'E10a': ['Sony Ericsson', 'Xperia X10 Mini'],
|
||
|
|
'E10i': ['Sony Ericsson', 'Xperia X10 Mini'],
|
||
|
|
'E10iv': ['Sony Ericsson', 'Xperia X10 Mini'],
|
||
|
|
'E15': ['Sony Ericsson', 'Xperia X8'],
|
||
|
|
'E15a': ['Sony Ericsson', 'Xperia X8'],
|
||
|
|
'E15i': ['Sony Ericsson', 'Xperia X8'],
|
||
|
|
'E15iv': ['Sony Ericsson', 'Xperia X8'],
|
||
|
|
'E15i-o': ['Sony Ericsson', 'Xperia X8'],
|
||
|
|
'E16i': ['Sony Ericsson', 'W8 Walkman'],
|
||
|
|
'LT11i': ['Sony Ericsson', 'Xperia Neo V'],
|
||
|
|
'LT15': ['Sony Ericsson', 'Xperia Arc'],
|
||
|
|
'LT15a': ['Sony Ericsson', 'Xperia Arc'],
|
||
|
|
'LT15i': ['Sony Ericsson', 'Xperia Arc'],
|
||
|
|
'LT15iv': ['Sony Ericsson', 'Xperia Arc'],
|
||
|
|
'LT15i-o': ['Sony Ericsson', 'Xperia Arc'],
|
||
|
|
'LT18a': ['Sony Ericsson', 'Xperia Arc S'],
|
||
|
|
'LT18i': ['Sony Ericsson', 'Xperia Arc S'],
|
||
|
|
'LT18iv': ['Sony Ericsson', 'Xperia Arc S'],
|
||
|
|
'LT18i-o': ['Sony Ericsson', 'Xperia Arc S'],
|
||
|
|
'LT22i': ['Sony', 'Xperia P'],
|
||
|
|
'LT26i': ['Sony', 'Xperia S'],
|
||
|
|
'LT26ii': ['Sony', 'Xperia S'],
|
||
|
|
'LT26i-o': ['Sony', 'Xperia S'],
|
||
|
|
'LT28at': ['Sony', 'Xperia Ion'],
|
||
|
|
'LT28h': ['Sony', 'Xperia Ion'],
|
||
|
|
'LT28i': ['Sony', 'Xperia Ion'],
|
||
|
|
'LT29i': ['Sony', 'Xperia GX'],
|
||
|
|
'SonyLT29i': ['Sony', 'Xperia GX'],
|
||
|
|
'SonyLT30a': ['Sony', 'Xperia Mint'],
|
||
|
|
'SonyLT30p': ['Sony', 'Xperia Mint'],
|
||
|
|
'MK16a': ['Sony Ericsson', 'Xperia Pro'],
|
||
|
|
'MK16i': ['Sony Ericsson', 'Xperia Pro'],
|
||
|
|
'MT11a': ['Sony Ericsson', 'Xperia Neo V'],
|
||
|
|
'MT11i': ['Sony Ericsson', 'Xperia Neo V'],
|
||
|
|
'MT11iv': ['Sony Ericsson', 'Xperia Neo V'],
|
||
|
|
'MT11i-o': ['Sony Ericsson', 'Xperia Neo V'],
|
||
|
|
'MT15a': ['Sony Ericsson', 'Xperia Neo'],
|
||
|
|
'MT15i': ['Sony Ericsson', 'Xperia Neo'],
|
||
|
|
'MT15iv': ['Sony Ericsson', 'Xperia Neo'],
|
||
|
|
'MT15i-o': ['Sony Ericsson', 'Xperia Neo'],
|
||
|
|
'MT25i': ['Sony', 'Xperia Neo L'],
|
||
|
|
'MT27i': ['Sony', 'Xperia Sola'],
|
||
|
|
'R800a': ['Sony Ericsson', 'Xperia Play'],
|
||
|
|
'R800i': ['Sony Ericsson', 'Xperia Play'],
|
||
|
|
'R800iv': ['Sony Ericsson', 'Xperia Play'],
|
||
|
|
'R800at': ['Sony Ericsson', 'Xperia Play'],
|
||
|
|
'R800x': ['Sony Ericsson', 'Xperia Play'],
|
||
|
|
'SK17a': ['Sony Ericsson', 'Xperia Mini Pro'],
|
||
|
|
'SK17i': ['Sony Ericsson', 'Xperia Mini Pro'],
|
||
|
|
'SK17iv': ['Sony Ericsson', 'Xperia Mini Pro'],
|
||
|
|
'SK17i-o': ['Sony Ericsson', 'Xperia Mini Pro'],
|
||
|
|
'ST15a': ['Sony Ericsson', 'Xperia Mini'],
|
||
|
|
'ST15i': ['Sony Ericsson', 'Xperia Mini'],
|
||
|
|
'ST17a': ['Sony Ericsson', 'Xperia Active'],
|
||
|
|
'ST17i': ['Sony Ericsson', 'Xperia Active'],
|
||
|
|
'ST18a': ['Sony Ericsson', 'Xperia Ray'],
|
||
|
|
'ST18i': ['Sony Ericsson', 'Xperia Ray'],
|
||
|
|
'ST18iv': ['Sony Ericsson', 'Xperia Ray'],
|
||
|
|
'ST18av': ['Sony Ericsson', 'Xperia Ray'],
|
||
|
|
'SonyST21': ['Sony', '\'Tapioca\''],
|
||
|
|
'SonyST21i': ['Sony', '\'Tapioca\''],
|
||
|
|
'SonyST21a2': ['Sony', '\'Tapioca\''],
|
||
|
|
'ST21': ['Sony', '\'Tapioca\''],
|
||
|
|
'ST21i': ['Sony', '\'Tapioca\''],
|
||
|
|
'SonyST23i': ['Sony', '\'Tapioca DS\''],
|
||
|
|
'ST25i': ['Sony', 'Xperia U'],
|
||
|
|
'ST27i': ['Sony', 'Xperia Go'],
|
||
|
|
'U20a': ['Sony Ericsson', 'Xperia X10 Mini Pro'],
|
||
|
|
'U20i': ['Sony Ericsson', 'Xperia X10 Mini Pro'],
|
||
|
|
'U20iv': ['Sony Ericsson', 'Xperia X10 Mini Pro'],
|
||
|
|
'WT13i': ['Sony Ericsson', 'Mix Walkman'],
|
||
|
|
'WT18i': ['Sony Ericsson', 'Walkman'],
|
||
|
|
'WT19a': ['Sony Ericsson', 'Live with Walkman'],
|
||
|
|
'WT19i': ['Sony Ericsson', 'Live with Walkman'],
|
||
|
|
'WT19iv': ['Sony Ericsson', 'Live with Walkman'],
|
||
|
|
'X8': ['Sony Ericsson', 'Xperia X8'],
|
||
|
|
'X10': ['Sony Ericsson', 'Xperia X10'],
|
||
|
|
'X10a': ['Sony Ericsson', 'Xperia X10'],
|
||
|
|
'X10i': ['Sony Ericsson', 'Xperia X10'],
|
||
|
|
'X10iv': ['Sony Ericsson', 'Xperia X10'],
|
||
|
|
'X10S': ['Sony Ericsson', 'Xperia X10'],
|
||
|
|
'X10mini': ['Sony Ericsson', 'Xperia X10 Mini'],
|
||
|
|
'X10 Mini': ['Sony Ericsson', 'Xperia X10 Mini'],
|
||
|
|
'X10 Mini Pro': ['Sony Ericsson', 'Xperia X10 Mini Pro'],
|
||
|
|
'Z1i': ['Sony Ericsson', 'Xperia Play'],
|
||
|
|
'S51SE': ['Sony Ericsson', 'Xperia Mini'],
|
||
|
|
'IS11S': ['Sony Ericsson', 'Xperia Acro'],
|
||
|
|
'IS12S': ['Sony Ericsson', 'Xperia Acro HD'],
|
||
|
|
'SO-01B': ['Sony Ericsson', 'Xperia X10'],
|
||
|
|
'SO-01C': ['Sony Ericsson', 'Xperia Arc'],
|
||
|
|
'SO-01D': ['Sony Ericsson', 'Xperia Play'],
|
||
|
|
'SO-02C': ['Sony Ericsson', 'Xperia Acro'],
|
||
|
|
'SO-02D': ['Sony Ericsson', 'Xperia NX'],
|
||
|
|
'SO-03C': ['Sony Ericsson', 'Xperia Ray'],
|
||
|
|
'SO-03D': ['Sony Ericsson', 'Xperia Acro HD'],
|
||
|
|
'SO-04D': ['Sony', 'Xperia GX'],
|
||
|
|
'SO-05D': ['Sony', 'Xperia SX'],
|
||
|
|
'XPERIA X8': ['Sony Ericsson', 'Xperia X8'],
|
||
|
|
'Xperia X8': ['Sony Ericsson', 'Xperia X8'],
|
||
|
|
'Xperia X10': ['Sony Ericsson', 'Xperia X10'],
|
||
|
|
'Xperia ray': ['Sony Ericsson', 'Xperia Ray'],
|
||
|
|
'Xperia Ray': ['Sony Ericsson', 'Xperia Ray'],
|
||
|
|
'Xperia Arc': ['Sony Ericsson', 'Xperia Arc'],
|
||
|
|
'Xperia Mini': ['Sony Ericsson', 'Xperia Mini'],
|
||
|
|
'Xperia neo': ['Sony Ericsson', 'Xperia Neo'],
|
||
|
|
'Xperia Neo': ['Sony Ericsson', 'Xperia Neo'],
|
||
|
|
'XPERIA NEO': ['Sony Ericsson', 'Xperia Neo'],
|
||
|
|
'Xperia NeoV': ['Sony Ericsson', 'Xperia Neo V'],
|
||
|
|
'Xperia Neo V': ['Sony Ericsson', 'Xperia Neo V'],
|
||
|
|
'Xperia Play': ['Sony Ericsson', 'Xperia Play'],
|
||
|
|
'Sony Ericsson Xperia X1': ['Sony Ericsson', 'Xperia X1'],
|
||
|
|
'SonyHayabusa': ['Sony', 'Xperia Ion'],
|
||
|
|
'Hayabusa': ['Sony', 'Xperia Ion'],
|
||
|
|
'nozomi': ['Sony', 'Xperia S'],
|
||
|
|
'Sony Tablet P': ['Sony', 'Tablet P', 'tablet'],
|
||
|
|
'Sony Tablet S': ['Sony', 'Tablet S', 'tablet'],
|
||
|
|
'NWZ-Z1000Series': ['Sony', 'Walkman Z', 'media'],
|
||
|
|
'NW-Z1000Series': ['Sony', 'Walkman Z', 'media'],
|
||
|
|
'Spice Mi280': ['Spice', 'Mi-280'],
|
||
|
|
'Spice Mi300': ['Spice', 'Mi-300'],
|
||
|
|
'Spice Mi-310': ['Spice', 'Mi-310'],
|
||
|
|
'Spice Mi-425': ['Spice', 'Mi-425'],
|
||
|
|
'SPICE Mi-720': ['Spice', 'Mi-720'],
|
||
|
|
'A7272+': ['Star', 'A7272+'],
|
||
|
|
'e1109 v73 gq1002 ctp': ['Star', 'X18i'],
|
||
|
|
'TS1004T': ['Surf 3Q', 'TS1004T', 'tablet'],
|
||
|
|
'SYTABEX7-2': ['Sylvania', 'SYTABEX7', 'tablet'],
|
||
|
|
'TCL A860': ['TCL', 'A860'],
|
||
|
|
'TCL A906': ['TCL', 'A906'],
|
||
|
|
'TCL A909': ['TCL', 'A909'],
|
||
|
|
'TCL A919': ['TCL', 'A919'],
|
||
|
|
'TCL A990': ['TCL', 'A990'],
|
||
|
|
'TCL A996': ['TCL', 'A996'],
|
||
|
|
'TCL A998': ['TCL', 'A998'],
|
||
|
|
'TCL GENESEE E708': ['TCL', 'Genesee E708'],
|
||
|
|
'A10t(5DM3)': ['Teclast', 'A10T', 'tablet'],
|
||
|
|
'P72': ['Teclast', 'P72', 'tablet'],
|
||
|
|
'P76TI': ['Teclast', 'P76Ti', 'tablet'],
|
||
|
|
'P81HD': ['Teclast', 'P81HD', 'tablet'],
|
||
|
|
'P85(R8A1)': ['Teclast', 'P85', 'tablet'],
|
||
|
|
'T720 SE': ['Teclast', 'T720', 'tablet'],
|
||
|
|
'T760 from moage.com': ['Teclast', 'T760', 'tablet'],
|
||
|
|
'tegav2': ['Tegatech', 'TEGA v2', 'tablet'],
|
||
|
|
'TM-7025': ['teXet', 'TM-7025', 'tablet'],
|
||
|
|
'MoFing': ['Thomson', 'MoFing', 'tablet'],
|
||
|
|
'Ultimate10': ['Tomtec', 'Ultimate10', 'tablet'],
|
||
|
|
'Thl V7': ['THL', 'V7'],
|
||
|
|
'ThL V7': ['THL', 'V7'],
|
||
|
|
'ThL V8': ['THL', 'V8'],
|
||
|
|
'ThL V9': ['THL', 'V9'],
|
||
|
|
'ThL V11': ['THL', 'V11'],
|
||
|
|
'TSB CLOUD COMPANION;TOSHIBA AC AND AZ': ['Toshiba', 'Dynabook AZ', 'desktop'],
|
||
|
|
'TOSHIBA AC AND AZ': ['Toshiba', 'Dynabook AZ', 'desktop'],
|
||
|
|
'TOSHIBA FOLIO AND A': ['Toshiba', 'Folio 100', 'tablet'],
|
||
|
|
'T-01C': ['Toshiba', 'Regza T-01C'],
|
||
|
|
'T-01D': ['Toshiba', 'Regza T-01D'],
|
||
|
|
'IS04': ['Toshiba', 'Regza IS04'],
|
||
|
|
'IS11T': ['Toshiba', 'Regza IS11T'],
|
||
|
|
'AT1S0': ['Toshiba', 'Regza AT1S0'],
|
||
|
|
'Tostab03': ['Toshiba', 'Regza AT100', 'tablet'],
|
||
|
|
'AT100': ['Toshiba', 'Regza AT100', 'tablet'],
|
||
|
|
'AT200': ['Toshiba', 'Regza AT200', 'tablet'],
|
||
|
|
'AT470': ['Toshiba', 'Regza AT470', 'tablet'],
|
||
|
|
'AT570': ['Toshiba', 'Regza AT570', 'tablet'],
|
||
|
|
'AT830': ['Toshiba', 'Regza AT830', 'tablet'],
|
||
|
|
'Folio 100': ['Toshiba', 'Folio 100', 'tablet'],
|
||
|
|
'folio100': ['Toshiba', 'Folio 100', 'tablet'],
|
||
|
|
'THRiVE': ['Toshiba', 'THRiVE', 'tablet'],
|
||
|
|
'Fantastic T3': ['TWM', 'Fantastic T3'],
|
||
|
|
'M70014': ['United Star Technology', 'M70014', 'tablet'],
|
||
|
|
'PS47': ['Velocity Micro', 'Cruz PS47', 'tablet'],
|
||
|
|
'T301': ['Velocity Micro', 'Cruz T301', 'tablet'],
|
||
|
|
'Vibo-A688': ['FIH', 'Vibo A688'],
|
||
|
|
'Videocon-V7500': ['Videocon', 'V7500'],
|
||
|
|
'GTablet': ['ViewSonic', 'gTablet', 'tablet'],
|
||
|
|
'GtabComb': ['ViewSonic', 'gTablet', 'tablet'],
|
||
|
|
'TeamDRH ICS for GTablet': ['ViewSonic', 'gTablet', 'tablet'],
|
||
|
|
'ViewPad7': ['ViewSonic', 'ViewPad 7', 'tablet'],
|
||
|
|
'ViewPad 10e': ['ViewSonic', 'ViewPad 10e', 'tablet'],
|
||
|
|
'VTAB1008': ['Vizio', 'VTAB1008', 'tablet'],
|
||
|
|
'VTAB3010': ['Vizio', 'VTAB3010', 'tablet'],
|
||
|
|
'VOTO W5300': ['VOTO', 'W5300'],
|
||
|
|
'xPAD-70': ['WayteQ', 'xPAD-70', 'tablet'],
|
||
|
|
'xTAB-70': ['WayteQ', 'xTAB-70', 'tablet'],
|
||
|
|
'WellcoM-A99': ['WellcoM', 'A99'],
|
||
|
|
'N12': ['Window', 'N12', 'tablet'],
|
||
|
|
'N12R': ['Window', 'N12R', 'tablet'],
|
||
|
|
'N50': ['Window', 'N50', 'tablet'],
|
||
|
|
'N50DT': ['Window', 'N50DT', 'tablet'],
|
||
|
|
'N50GT': ['Window', 'N50GT', 'tablet'],
|
||
|
|
'N50GT A': ['Window', 'N50GT-A', 'tablet'],
|
||
|
|
'N70': ['Window', 'N70', 'tablet'],
|
||
|
|
'N70 DUAL CORE': ['Window', 'N70 Dual Core', 'tablet'],
|
||
|
|
'N80': ['Window', 'N80', 'tablet'],
|
||
|
|
'N90': ['Window', 'N90', 'tablet'],
|
||
|
|
'N90 DUAL CORE2 V12': ['Window', 'N90 Dual Core', 'tablet'],
|
||
|
|
'N612': ['Wishway', 'N612'],
|
||
|
|
'AT-AS43D': ['Wolfgang', 'AT-AS43D'],
|
||
|
|
'M12': ['Wopad', 'M12', 'tablet'],
|
||
|
|
'WM8650': ['WonderMedia', 'WM8650', 'tablet'],
|
||
|
|
'MI-ONE': ['Xiaomi', 'MI-ONE'],
|
||
|
|
'MI-ONE C1': ['Xiaomi', 'MI-ONE C1'],
|
||
|
|
'MI-ONE Plus': ['Xiaomi', 'MI-ONE Plus'],
|
||
|
|
'MI 1S': ['Xiaomi', 'MI-ONE Plus'],
|
||
|
|
'MI 1SC': ['Xiaomi', 'MI-ONE 1SC'],
|
||
|
|
'mione plus': ['Xiaomi', 'MI-ONE Plus'],
|
||
|
|
'MI-TWO': ['Xiaomi', 'MI-TWO'],
|
||
|
|
'MI 2': ['Xiaomi', 'MI-TWO'],
|
||
|
|
'MI 2S': ['Xiaomi', 'MI-TWO Plus'],
|
||
|
|
'MI 2SC': ['Xiaomi', 'MI-TWO Plus'],
|
||
|
|
'Q07CL01': ['XVision', 'Q07', 'tablet'],
|
||
|
|
'N6': ['Yarvik', '210 Tablet', 'tablet'],
|
||
|
|
'EMR1879': ['Yidong', 'EMR1879', 'tablet'],
|
||
|
|
'yusun W702': ['Yusun', 'W702'],
|
||
|
|
'YX-YUSUN E80': ['Yusun', 'E80'],
|
||
|
|
'zt180': ['Zenithink', 'ZT-180', 'tablet'],
|
||
|
|
'Jaguar7': ['ZiiLabs', 'Jaguar 7', 'tablet'],
|
||
|
|
'Ziss Ranger HD': ['Ziss', 'Ranger HD'],
|
||
|
|
'ZTE Libra': ['ZTE', 'Libra'],
|
||
|
|
'ZTE-T T9': ['ZTE', 'Light Tab T9', 'tablet'],
|
||
|
|
'V9': ['ZTE', 'Light Tab V9', 'tablet'],
|
||
|
|
'V9e+': ['ZTE', 'Light Tab 2', 'tablet'],
|
||
|
|
'V9A': ['ZTE', 'Light Tab 2', 'tablet'],
|
||
|
|
'Light Tab 2W': ['ZTE', 'Light Tab 2', 'tablet'],
|
||
|
|
'Light Tab 2': ['ZTE', 'Light Tab 2', 'tablet'],
|
||
|
|
'V9C': ['ZTE', 'Light Tab 3', 'tablet'],
|
||
|
|
'V55': ['ZTE', 'Optik', 'tablet'],
|
||
|
|
'Acqua': ['ZTE', 'Acqua'],
|
||
|
|
'Blade': ['ZTE', 'Blade'],
|
||
|
|
'Blade-V880': ['ZTE', 'Blade'],
|
||
|
|
'ZTE-U V880': ['ZTE', 'Blade'],
|
||
|
|
'Blade-opda': ['ZTE', 'Blade'],
|
||
|
|
'ZTE-BLADE': ['ZTE', 'Blade'],
|
||
|
|
'ZTE Blade': ['ZTE', 'Blade'],
|
||
|
|
'ZTE V880': ['ZTE', 'Blade'],
|
||
|
|
'ZTE-U(V)880+': ['ZTE', 'Blade'],
|
||
|
|
'V880': ['ZTE', 'Blade'],
|
||
|
|
'a5': ['ZTE', 'Blade'],
|
||
|
|
'Blade2': ['ZTE', 'Blade 2'],
|
||
|
|
'Blade S': ['ZTE', 'Blade S'],
|
||
|
|
'X500': ['ZTE', 'Score'],
|
||
|
|
'ZTE-X500': ['ZTE', 'Score'],
|
||
|
|
'Skate': ['ZTE', 'Skate'],
|
||
|
|
'ZTE Skate': ['ZTE', 'Skate'],
|
||
|
|
'ZTE-Skate': ['ZTE', 'Skate'],
|
||
|
|
'ZTE-SKATE': ['ZTE', 'Skate'],
|
||
|
|
'ZTE-V960': ['ZTE', 'Skate'],
|
||
|
|
'ZTE-U V960': ['ZTE', 'Skate'],
|
||
|
|
'ZTE Racer': ['ZTE', 'Racer'],
|
||
|
|
'ZTE-RACER': ['ZTE', 'Racer'],
|
||
|
|
'MTC 916': ['ZTE', 'Racer'],
|
||
|
|
'Racer': ['ZTE', 'Racer'],
|
||
|
|
'RacerII': ['ZTE', 'Racer 2'],
|
||
|
|
'RACERII': ['ZTE', 'Racer 2'],
|
||
|
|
'ZTE Roamer': ['ZTE', 'Roamer'],
|
||
|
|
'N860': ['ZTE', 'Warp'],
|
||
|
|
'N880': ['ZTE', 'Blade'],
|
||
|
|
'ZTE-T U802': ['ZTE', 'T-U802'],
|
||
|
|
'ZTE-T U806': ['ZTE', 'T-U806'],
|
||
|
|
'ZTE-T U812': ['ZTE', 'T-U812'],
|
||
|
|
'ZTE-T U830': ['ZTE', 'T-U830'],
|
||
|
|
'ZTE-T U880': ['ZTE', 'T-U880'],
|
||
|
|
'ZTE T U880': ['ZTE', 'T-U880'],
|
||
|
|
'ZTE-TU880': ['ZTE', 'T-U880'],
|
||
|
|
'ZTE-TU900': ['ZTE', 'T-U900'],
|
||
|
|
'ZTE-T U960': ['ZTE', 'T-U960'],
|
||
|
|
'ZTE-TU960s': ['ZTE', 'T-U960'],
|
||
|
|
'ZTE-T U960s': ['ZTE', 'T-U960'],
|
||
|
|
'ZTE U N720': ['ZTE', 'U-N720'],
|
||
|
|
'ZTE-U V856': ['ZTE', 'U-V856'],
|
||
|
|
'ZTE-U V857': ['ZTE', 'U-V857'],
|
||
|
|
'ZTE-U V881': ['ZTE', 'U-V881'],
|
||
|
|
'ZTE-U X850': ['ZTE', 'U-X850'],
|
||
|
|
'ZTE-U X876': ['ZTE', 'U-X876'],
|
||
|
|
'ZTE-X876': ['ZTE', 'U-X876'],
|
||
|
|
'ZTE-C R750': ['ZTE', 'C-R750'],
|
||
|
|
'ZTE-C N600': ['ZTE', 'C-N600'],
|
||
|
|
'ZTE-C N600+': ['ZTE', 'C-N600'],
|
||
|
|
'ZTE-C N606': ['ZTE', 'C-N606'],
|
||
|
|
'ZTE-C N700': ['ZTE', 'C-N700'],
|
||
|
|
'ZTE-C N760': ['ZTE', 'C-N760'],
|
||
|
|
'ZTE-C N880': ['ZTE', 'C-N880'],
|
||
|
|
'ZTE-C N880S': ['ZTE', 'C-N880'],
|
||
|
|
'ZTE-C N880s': ['ZTE', 'C-N880'],
|
||
|
|
'ZTE-C X500': ['ZTE', 'C-X500'],
|
||
|
|
'ZTE-C X920': ['ZTE', 'C-X920'],
|
||
|
|
'ZXY-ZTE-C X920': ['ZTE', 'C-X920'],
|
||
|
|
'ZTE GV821': ['ZTE', 'G-V821'],
|
||
|
|
'ZTE N880E': ['ZTE', 'N880E'],
|
||
|
|
'ZTE-N880E': ['ZTE', 'N880E'],
|
||
|
|
'MIUI N880S': ['ZTE', 'N880S'],
|
||
|
|
'ZTE N882E': ['ZTE', 'N882E'],
|
||
|
|
'ZTE N855D': ['ZTE', 'N855D'],
|
||
|
|
'ZTE-N910': ['ZTE', 'N910'],
|
||
|
|
'E810': ['ZTE', 'E810'],
|
||
|
|
'u880': ['ZTE', 'U880'],
|
||
|
|
'ZTE U880E': ['ZTE', 'U880E'],
|
||
|
|
'U880': ['ZTE', 'U880'],
|
||
|
|
'ZTE U970': ['ZTE', 'U970'],
|
||
|
|
'ZTE V768': ['ZTE', 'V768'],
|
||
|
|
'ZTE-V856': ['ZTE', 'V856'],
|
||
|
|
'ZTE V877b': ['ZTE', 'V877'],
|
||
|
|
'ZTE V889D': ['ZTE', 'V889'],
|
||
|
|
'ZTE-Z990': ['ZTE', 'Z990'],
|
||
|
|
'ZTEU790': ['ZTE', 'U790'],
|
||
|
|
'003Z': ['ZTE', 'Softbank 003Z'],
|
||
|
|
'008Z': ['ZTE', 'Softbank 008Z'],
|
||
|
|
'009Z': ['ZTE', 'Softbank Star7'],
|
||
|
|
'i-mobile i691': ['i-Mobile', 'i691'],
|
||
|
|
'i-mobile i695': ['i-Mobile', 'i695'],
|
||
|
|
'i-mobile i858': ['i-Mobile', 'i858'],
|
||
|
|
'i-mobile 3G 8500': ['i-Mobile', '3G 8500'],
|
||
|
|
'i-mobile I-Note': ['i-Mobile', 'i-Note', 'tablet'],
|
||
|
|
'Optimus Boston': ['Optimus', 'Boston'],
|
||
|
|
'Optimus San Francisco': ['Optimus', 'San Francisco'],
|
||
|
|
'Optimus Monte Carlo': ['Optimus', 'Monte Carlo'],
|
||
|
|
'Orange Boston': ['Orange', 'Boston'],
|
||
|
|
'Orange Monte Carlo': ['Orange', 'Monte Carlo'],
|
||
|
|
'San Francisco': ['Orange', 'San Francisco'],
|
||
|
|
'San Francisco for Orange': ['Orange', 'San Francisco'],
|
||
|
|
'Orange San Francisco': ['Orange', 'San Francisco'],
|
||
|
|
'MOVE': ['T-Mobile', 'MOVE'],
|
||
|
|
'T-Mobile G1': ['T-Mobile', 'G1'],
|
||
|
|
'T-Mobile G2': ['T-Mobile', 'G2'],
|
||
|
|
'T-Mobile G2 Touch': ['T-Mobile', 'G2'],
|
||
|
|
'LG-P999': ['T-Mobile', 'G2x'],
|
||
|
|
'LG-E739': ['T-Mobile', 'myTouch'],
|
||
|
|
'T-Mobile myTouch 3G': ['T-Mobile', 'myTouch 3G'],
|
||
|
|
'T-Mobile myTouch 3G Slide': ['T-Mobile', 'myTouch 3G Slide'],
|
||
|
|
'T-Mobile Espresso': ['T-Mobile', 'myTouch 3G Slide'],
|
||
|
|
'HTC myTouch 3G Slide': ['T-Mobile', 'myTouch 3G Slide'],
|
||
|
|
'T-Mobile myTouch 4G': ['T-Mobile', 'myTouch 4G'],
|
||
|
|
'HTC Glacier': ['T-Mobile', 'myTouch 4G'],
|
||
|
|
'HTC Panache': ['T-Mobile', 'myTouch 4G'],
|
||
|
|
'myTouch4G': ['T-Mobile', 'myTouch 4G'],
|
||
|
|
'My Touch 4G': ['T-Mobile', 'myTouch 4G'],
|
||
|
|
'HTC Mytouch 4G': ['T-Mobile', 'myTouch 4G'],
|
||
|
|
'HTC My Touch 4G': ['T-Mobile', 'myTouch 4G'],
|
||
|
|
'HTC mytouch4g': ['T-Mobile', 'myTouch 4G'],
|
||
|
|
'HTC myTouch 4G Slide': ['T-Mobile', 'myTouch 4G Slide'],
|
||
|
|
'myTouch 4G Slide': ['T-Mobile', 'myTouch 4G Slide'],
|
||
|
|
'T-Mobile myTouch Q': ['T-Mobile', 'myTouch Q'],
|
||
|
|
'LG-C800': ['T-Mobile', 'myTouch Q'],
|
||
|
|
'Pulse Mini': ['T-Mobile', 'Pulse Mini'],
|
||
|
|
'Vodafone 845': ['Vodafone', '845 Nova'],
|
||
|
|
'Vodafone 858': ['Vodafone', '858 Smart'],
|
||
|
|
'Vodafone 945': ['Vodafone', '945'],
|
||
|
|
'Vodafone Smart II': ['Vodafone', 'Smart II'],
|
||
|
|
'SmartTab10': ['Vodafone', 'SmartTab 10', 'tablet'],
|
||
|
|
'SCH-N719': ['Samsung', 'Galaxy Note II'],
|
||
|
|
'Coolpad 8190': ['Coolpad', '8190'],
|
||
|
|
'U705T': ['Oppo', 'Ulike2'],
|
||
|
|
'Coolpad 8020+': ['Coolpad', '8020'],
|
||
|
|
'Huawei Y310-5000': ['Huawei', 'Y310'],
|
||
|
|
'GT-S7572': ['Samsung', 'Galaxy Trend Duos II'],
|
||
|
|
'Lenovo A278t': ['Lenovo', 'A278t'],
|
||
|
|
'Lenovo A690': ['Lenovo', 'A690'],
|
||
|
|
'GT-I8262D': ['Samsung', 'LePhone I8262D'],
|
||
|
|
'Lenovo A278t': ['Lenovo', 'A278t'],
|
||
|
|
'MI 2C': ['Xiaomi', 'MI-TWO'],
|
||
|
|
'Coolpad 8070': ['Coolpad', '8070'],
|
||
|
|
'R813T': ['Oppo', 'R813T'],
|
||
|
|
'ZTE U930': ['ZTE', 'U930'],
|
||
|
|
'Lenovo A360': ['Lenovo', 'LePhone A360'],
|
||
|
|
'SCH-N719': ['Samsung', 'Galaxy Note II'],
|
||
|
|
'Coolpad 8010': ['Coolpad', '8010'],
|
||
|
|
'LENOVO-Lenovo-A288t': ['Lenovo', 'A288t'],
|
||
|
|
'U701T': ['Oppo', 'U701T'],
|
||
|
|
'ZTEU795': ['Coolpad', 'U795'],
|
||
|
|
'Haier-HT-I617': ['Haier', 'I617'],
|
||
|
|
'ZTEU880s': ['ZTE', 'T-U880'],
|
||
|
|
'GT-S6352': ['Samsung', 'GT-S6352'],
|
||
|
|
'GT-S7568': ['Samsung', 'GT-S7568'],
|
||
|
|
'K-Touch T619+': ['K-Touch', 'T619'],
|
||
|
|
'MI 2A': ['Xiaomi', 'MI-TWO A'],
|
||
|
|
'GT-N7108': ['Samsung', 'Galaxy Note II'],
|
||
|
|
'K-Touch T621': ['K-Touch', 'T621'],
|
||
|
|
'LENOVO-Lenovo-A298t': ['Lenovo', 'A298'],
|
||
|
|
'Coolpad 8150': ['Coolpad', '8150'],
|
||
|
|
'5860S': ['Coolpad', '5860'],
|
||
|
|
'ZTEU807': ['ZTE', 'U807'],
|
||
|
|
'SCH-I739': ['Samsung', 'SCH-I739'],
|
||
|
|
'SCH-I829': ['Samsung', 'SCH-I829'],
|
||
|
|
'HS-E830': ['Hisense', 'E830'],
|
||
|
|
'HS-E920': ['Hisense', 'E920'],
|
||
|
|
'Lenovo S720': ['Lenovo', 'S720'],
|
||
|
|
'MI 2C': ['Xiaomi', 'MI-TWO'],
|
||
|
|
'OPPO R813T': ['Oppo', 'R813'],
|
||
|
|
'SCH-I879': ['Samsung', 'Galaxy Note'],
|
||
|
|
'GT-S6102E': ['Samsung', 'Galaxy Y Duos']
|
||
|
|
}
|
||
|
|
|
||
|
|
var BLACKBERRY_MODELS = {
|
||
|
|
'9600': 'Bold',
|
||
|
|
'9650': 'Bold',
|
||
|
|
'9700': 'Bold',
|
||
|
|
'9780': 'Bold',
|
||
|
|
'9790': 'Bold',
|
||
|
|
'9900': 'Bold',
|
||
|
|
'9930': 'Bold',
|
||
|
|
'8300': 'Curve',
|
||
|
|
'8310': 'Curve',
|
||
|
|
'8320': 'Curve',
|
||
|
|
'8330': 'Curve',
|
||
|
|
'8350i': 'Curve',
|
||
|
|
'8520': 'Curve',
|
||
|
|
'8530': 'Curve',
|
||
|
|
'8900': 'Curve',
|
||
|
|
'9220': 'Curve',
|
||
|
|
'9300': 'Curve',
|
||
|
|
'9330': 'Curve',
|
||
|
|
'9350': 'Curve',
|
||
|
|
'9360': 'Curve',
|
||
|
|
'9370': 'Curve',
|
||
|
|
'9380': 'Curve',
|
||
|
|
'8100': 'Pearl',
|
||
|
|
'8110': 'Pearl',
|
||
|
|
'8120': 'Pearl',
|
||
|
|
'8130': 'Pearl',
|
||
|
|
'8220': 'Pearl',
|
||
|
|
'8230': 'Pearl',
|
||
|
|
'9100': 'Pearl',
|
||
|
|
'9105': 'Pearl',
|
||
|
|
'9530': 'Storm',
|
||
|
|
'9550': 'Storm',
|
||
|
|
'9670': 'Style',
|
||
|
|
'9800': 'Torch',
|
||
|
|
'9810': 'Torch',
|
||
|
|
'9850': 'Torch',
|
||
|
|
'9860': 'Torch',
|
||
|
|
'9630': 'Tour',
|
||
|
|
'9981': 'Porsche P'
|
||
|
|
};
|
||
|
|
|
||
|
|
|
||
|
|
var Version = function () {
|
||
|
|
this.initialize.apply(this, Array.prototype.slice.call(arguments))
|
||
|
|
};
|
||
|
|
Version.prototype = {
|
||
|
|
initialize: function (v) {
|
||
|
|
this.original = v.value || null;
|
||
|
|
this.alias = v.alias || null;
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
var Detected = function () {
|
||
|
|
this.initialize.apply(this, arguments)
|
||
|
|
};
|
||
|
|
Detected.prototype = {
|
||
|
|
initialize: function (ua, options) {
|
||
|
|
this.options = {
|
||
|
|
useFeatures: options && options.useFeatures || false,
|
||
|
|
detectCamouflage: options && options.detectCamouflage || true
|
||
|
|
}
|
||
|
|
|
||
|
|
this.browser = {
|
||
|
|
'stock': true,
|
||
|
|
'hidden': false,
|
||
|
|
'channel': ''
|
||
|
|
};
|
||
|
|
this.engine = {};
|
||
|
|
this.os = {};
|
||
|
|
this.device = {
|
||
|
|
'type': 'desktop',
|
||
|
|
'identified': false
|
||
|
|
};
|
||
|
|
|
||
|
|
this.camouflage = false;
|
||
|
|
this.features = [];
|
||
|
|
this.detect(ua);
|
||
|
|
},
|
||
|
|
|
||
|
|
detect: function (ua) {
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Unix
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Unix')) {
|
||
|
|
this.os.name = 'Unix';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* FreeBSD
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('FreeBSD')) {
|
||
|
|
this.os.name = 'FreeBSD';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* OpenBSD
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('OpenBSD')) {
|
||
|
|
this.os.name = 'OpenBSD';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* NetBSD
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('NetBSD')) {
|
||
|
|
this.os.name = 'NetBSD';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* SunOS
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('SunOS')) {
|
||
|
|
this.os.name = 'Solaris';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Linux
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Linux')) {
|
||
|
|
this.os.name = 'Linux';
|
||
|
|
|
||
|
|
if (ua.match('CentOS')) {
|
||
|
|
this.os.name = 'CentOS';
|
||
|
|
if (match = /CentOS\/[0-9\.\-]+el([0-9_]+)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1].replace(/_/g, '.')
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Debian')) {
|
||
|
|
this.os.name = 'Debian';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Fedora')) {
|
||
|
|
this.os.name = 'Fedora';
|
||
|
|
if (match = /Fedora\/[0-9\.\-]+fc([0-9]+)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Gentoo')) {
|
||
|
|
this.os.name = 'Gentoo';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Kubuntu')) {
|
||
|
|
this.os.name = 'Kubuntu';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Mandriva Linux')) {
|
||
|
|
this.os.name = 'Mandriva';
|
||
|
|
if (match = /Mandriva Linux\/[0-9\.\-]+mdv([0-9]+)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Mageia')) {
|
||
|
|
this.os.name = 'Mageia';
|
||
|
|
if (match = /Mageia\/[0-9\.\-]+mga([0-9]+)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Red Hat')) {
|
||
|
|
this.os.name = 'Red Hat';
|
||
|
|
if (match = /Red Hat[^\/]*\/[0-9\.\-]+el([0-9_]+)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1].replace(/_/g, '.')
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Slackware')) {
|
||
|
|
this.os.name = 'Slackware';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('SUSE')) {
|
||
|
|
this.os.name = 'SUSE';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Turbolinux')) {
|
||
|
|
this.os.name = 'Turbolinux';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Ubuntu')) {
|
||
|
|
this.os.name = 'Ubuntu';
|
||
|
|
if (match = /Ubuntu\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* iOS
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('iPhone( Simulator)?;') || ua.match('iPad;') || ua.match('iPod;') || ua.match(/iPhone\s*\d*s?[cp]?;/i)) {
|
||
|
|
this.os.name = 'iOS';
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '1.0'
|
||
|
|
});
|
||
|
|
|
||
|
|
if (match = /OS (.*) like Mac OS X/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1].replace(/_/g, '.')
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('iPhone Simulator;')) {
|
||
|
|
this.device.type = 'emulator';
|
||
|
|
} else if (ua.match('iPod;')) {
|
||
|
|
this.device.type = 'media';
|
||
|
|
this.device.manufacturer = 'Apple';
|
||
|
|
this.device.model = 'iPod Touch';
|
||
|
|
} else if (ua.match('iPhone;') || ua.match(/iPhone\s*\d*s?[cp]?;/i)) {
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.manufacturer = 'Apple';
|
||
|
|
this.device.model = 'iPhone';
|
||
|
|
} else {
|
||
|
|
this.device.type = 'tablet';
|
||
|
|
this.device.manufacturer = 'Apple';
|
||
|
|
this.device.model = 'iPad';
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* MacOS X
|
||
|
|
*/
|
||
|
|
|
||
|
|
else if (ua.match('Mac OS X')) {
|
||
|
|
this.os.name = 'Mac OS X';
|
||
|
|
|
||
|
|
if (match = /Mac OS X (10[0-9\._]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1].replace(/_/g, '.')
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Windows
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Windows')) {
|
||
|
|
this.os.name = 'Windows';
|
||
|
|
|
||
|
|
if (match = /Windows NT ([0-9]\.[0-9])/.exec(ua)) {
|
||
|
|
this.os.version = parseVersion(match[1]);
|
||
|
|
|
||
|
|
switch (match[1]) {
|
||
|
|
case '6.2':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
alias: '8'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case '6.1':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
alias: '7'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case '6.0':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
alias: 'Vista'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case '5.2':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
alias: 'Server 2003'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case '5.1':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
alias: 'XP'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case '5.0':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
alias: '2000'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
alias: 'NT ' + this.os.version
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Windows 95') || ua.match('Win95') || ua.match('Win 9x 4.00')) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '4.0',
|
||
|
|
alias: '95'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Windows 98') || ua.match('Win98') || ua.match('Win 9x 4.10')) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '4.1',
|
||
|
|
alias: '98'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Windows ME') || ua.match('WinME') || ua.match('Win 9x 4.90')) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '4.9',
|
||
|
|
alias: 'ME'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Windows XP') || ua.match('WinXP')) {
|
||
|
|
this.os.name = new Version({
|
||
|
|
value: '5.1',
|
||
|
|
alias: 'XP'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('WP7')) {
|
||
|
|
this.os.name = 'Windows Phone';
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '7.0',
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.browser.mode = 'desktop';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Windows CE') || ua.match('WinCE') || ua.match('WindowsCE')) {
|
||
|
|
if (ua.match(' IEMobile')) {
|
||
|
|
this.os.name = 'Windows Mobile';
|
||
|
|
|
||
|
|
if (ua.match(' IEMobile 8')) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '6.5',
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match(' IEMobile 7')) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '6.1',
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match(' IEMobile 6')) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '6.0',
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
this.os.name = 'Windows CE';
|
||
|
|
|
||
|
|
if (match = /WindowsCEOS\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Windows CE ([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Windows Mobile')) {
|
||
|
|
this.os.name = 'Windows Mobile';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /WindowsMobile\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.name = 'Windows Mobile';
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Windows Phone [0-9]')) {
|
||
|
|
this.os.name = 'Windows Mobile';
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: ua.match(/Windows Phone ([0-9.]*)/)[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Windows Phone OS')) {
|
||
|
|
this.os.name = 'Windows Phone';
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: ua.match(/Windows Phone OS ([0-9.]*)/)[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
|
||
|
|
if (this.os.version < 7) {
|
||
|
|
this.os.name = 'Windows Mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /IEMobile\/[^;]+; ([^;]+); ([^;]+)[;|\)]/.exec(ua)) {
|
||
|
|
this.device.manufacturer = match[1];
|
||
|
|
this.device.model = match[2];
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
var manufacturer = this.device.manufacturer;
|
||
|
|
var model = cleanupModel(this.device.model);
|
||
|
|
|
||
|
|
if (typeof WINDOWS_PHONE_MODELS[manufacturer] !== 'undefined' && typeof WINDOWS_PHONE_MODELS[manufacturer][model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = WINDOWS_PHONE_MODELS[manufacturer][model][0];
|
||
|
|
this.device.model = WINDOWS_PHONE_MODELS[manufacturer][model][1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (manufacturer === 'Microsoft' && model === 'XDeviceEmulator') {
|
||
|
|
this.device.manufacturer = null;
|
||
|
|
this.device.model = null;
|
||
|
|
this.device.type = 'emulator';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Android
|
||
|
|
*/
|
||
|
|
if (ua.match('Android')) {
|
||
|
|
this.os.name = 'Android';
|
||
|
|
this.os.version = null;
|
||
|
|
|
||
|
|
if (match = /Android(?: )?(?:AllPhone_|CyanogenMod_)?(?:\/)?v?([0-9.]+)/.exec(ua.replace('-update', '.'))) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 3
|
||
|
|
})
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Android Eclair')) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '2.0',
|
||
|
|
details: 3
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
if (this.os.version >= 3) this.device.type = 'tablet';
|
||
|
|
if (this.os.version >= 4 && ua.match('Mobile')) this.device.type = 'mobile';
|
||
|
|
|
||
|
|
if (match = /Eclair; (?:[a-zA-Z][a-zA-Z](?:[-_][a-zA-Z][a-zA-Z])?) Build\/([^\/]*)\//.exec(ua)) {
|
||
|
|
this.device.model = match[1];
|
||
|
|
} else if (match = /; ([^;]*[^;\s])\s+Build/.exec(ua)) {
|
||
|
|
this.device.model = match[1];
|
||
|
|
} else if (match = /[a-zA-Z][a-zA-Z](?:[-_][a-zA-Z][a-zA-Z])?; ([^;]*[^;\s]);\s+Build/.exec(ua)) {
|
||
|
|
this.device.model = match[1];
|
||
|
|
} else if (match = /\(([^;]+);U;Android\/[^;]+;[0-9]+\*[0-9]+;CTC\/2.0\)/.exec(ua)) {
|
||
|
|
this.device.model = match[1];
|
||
|
|
} else if (match = /;\s?([^;]+);\s?[0-9]+\*[0-9]+;\s?CTC\/2.0/.exec(ua)) {
|
||
|
|
this.device.model = match[1];
|
||
|
|
} else if (match = /zh-cn;\s*(.*?)(\/|build)/i.exec(ua)) {
|
||
|
|
this.device.model = match[1];
|
||
|
|
} else if (match = /Android [^;]+; (?:[a-zA-Z][a-zA-Z](?:[-_][a-zA-Z][a-zA-Z])?; )?([^)]+)\)/.exec(ua)) {
|
||
|
|
if (!ua.match(/[a-zA-Z][a-zA-Z](?:[-_][a-zA-Z][a-zA-Z])?/)) {
|
||
|
|
this.device.model = match[1];
|
||
|
|
}
|
||
|
|
} else if (match = /^(.+?)\/\S+/i.exec(ua)) {
|
||
|
|
this.device.model = match[1];
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/* Sometimes we get a model name that starts with Android, in that case it is a mismatch and we should ignore it */
|
||
|
|
if (this.device.model && this.device.model.substring(0, 7) === 'Android') {
|
||
|
|
this.device.model = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.device.model) {
|
||
|
|
var model = cleanupModel(this.device.model);
|
||
|
|
|
||
|
|
if (typeof ANDROID_MODELS[model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = ANDROID_MODELS[model][0];
|
||
|
|
this.device.model = ANDROID_MODELS[model][1];
|
||
|
|
if (typeof ANDROID_MODELS[model][2] !== 'undefined') this.device.type = ANDROID_MODELS[model][2];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (model === 'Emulator' || model === 'x86 Emulator' || model === 'x86 VirtualBox' || model === 'vm') {
|
||
|
|
this.device.manufacturer = null;
|
||
|
|
this.device.model = null;
|
||
|
|
this.device.type = 'emulator';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('HP eStation')) {
|
||
|
|
this.device.manufacturer = 'HP';
|
||
|
|
this.device.model = 'eStation';
|
||
|
|
this.device.type = 'tablet';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
if (ua.match('Pre\/1.0')) {
|
||
|
|
this.device.manufacturer = 'Palm';
|
||
|
|
this.device.model = 'Pre';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
if (ua.match('Pre\/1.1')) {
|
||
|
|
this.device.manufacturer = 'Palm';
|
||
|
|
this.device.model = 'Pre Plus';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
if (ua.match('Pre\/1.2')) {
|
||
|
|
this.device.manufacturer = 'Palm';
|
||
|
|
this.device.model = 'Pre 2';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
if (ua.match('Pre\/3.0')) {
|
||
|
|
this.device.manufacturer = 'HP';
|
||
|
|
this.device.model = 'Pre 3';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
if (ua.match('Pixi\/1.0')) {
|
||
|
|
this.device.manufacturer = 'Palm';
|
||
|
|
this.device.model = 'Pixi';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
if (ua.match('Pixi\/1.1')) {
|
||
|
|
this.device.manufacturer = 'Palm';
|
||
|
|
this.device.model = 'Pixi Plus';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
if (ua.match('P160UN?A?\/1.0')) {
|
||
|
|
this.device.manufacturer = 'HP';
|
||
|
|
this.device.model = 'Veer';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Google TV
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('GoogleTV')) {
|
||
|
|
this.os.name = 'Google TV';
|
||
|
|
|
||
|
|
if (ua.match('Chrome/5.')) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '1'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Chrome/11.')) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '2'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.type = 'television';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* WoPhone
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('WoPhone')) {
|
||
|
|
this.os.name = 'WoPhone';
|
||
|
|
|
||
|
|
if (match = /WoPhone\/([0-9\.]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* BlackBerry
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('BlackBerry')) {
|
||
|
|
this.os.name = 'BlackBerry OS';
|
||
|
|
|
||
|
|
if (!ua.match('Opera')) {
|
||
|
|
if (match = /BlackBerry([0-9]*)\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[2],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /; BlackBerry ([0-9]*);/.exec(ua)) {
|
||
|
|
this.device.model = match[1];
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Version\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.os.version >= 10) {
|
||
|
|
this.os.name = 'BlackBerry';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (typeof this.device.model !== 'undefined') {
|
||
|
|
if (typeof BLACKBERRY_MODELS[this.device.model] !== 'undefined') {
|
||
|
|
this.device.model = 'BlackBerry ' + BLACKBERRY_MODELS[this.device.model] + ' ' + this.device.model;
|
||
|
|
} else {
|
||
|
|
this.device.model = 'BlackBerry ' + this.device.model;
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
this.device.model = 'BlackBerry';
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
this.device.model = 'BlackBerry';
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.manufacturer = 'RIM';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* BlackBerry PlayBook
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('RIM Tablet OS')) {
|
||
|
|
this.os.name = 'BlackBerry Tablet OS';
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: ua.match(/RIM Tablet OS ([0-9.]*)/)[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
|
||
|
|
this.device.manufacturer = 'RIM';
|
||
|
|
this.device.model = 'BlackBerry PlayBook';
|
||
|
|
this.device.type = 'tablet';
|
||
|
|
this.device.identified = true;
|
||
|
|
} else if (ua.match('PlayBook')) {
|
||
|
|
if (match = /Version\/(10[0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.name = 'BlackBerry';
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
|
||
|
|
this.device.manufacturer = 'RIM';
|
||
|
|
this.device.model = 'BlackBerry PlayBook';
|
||
|
|
this.device.type = 'tablet';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* WebOS
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('(?:web|hpw)OS')) {
|
||
|
|
this.os.name = 'webOS';
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: ua.match(/(?:web|hpw)OS\/([0-9.]*)/)[1]
|
||
|
|
});
|
||
|
|
|
||
|
|
if (ua.match('tablet')) this.device.type = 'tablet';
|
||
|
|
else this.device.type = 'mobile';
|
||
|
|
|
||
|
|
this.device.manufacturer = ua.match('hpwOS') ? 'HP' : 'Palm';
|
||
|
|
if (ua.match('Pre\/1.0')) this.device.model = 'Pre';
|
||
|
|
if (ua.match('Pre\/1.1')) this.device.model = 'Pre Plus';
|
||
|
|
if (ua.match('Pre\/1.2')) this.device.model = 'Pre2';
|
||
|
|
if (ua.match('Pre\/3.0')) this.device.model = 'Pre3';
|
||
|
|
if (ua.match('Pixi\/1.0')) this.device.model = 'Pixi';
|
||
|
|
if (ua.match('Pixi\/1.1')) this.device.model = 'Pixi Plus';
|
||
|
|
if (ua.match('P160UN?A?\/1.0')) this.device.model = 'Veer';
|
||
|
|
if (ua.match('TouchPad\/1.0')) this.device.model = 'TouchPad';
|
||
|
|
|
||
|
|
if (ua.match('Emulator\/') || ua.match('Desktop\/')) {
|
||
|
|
this.device.type = 'emulator';
|
||
|
|
this.device.manufacturer = null;
|
||
|
|
this.device.model = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* S60
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Symbian') || ua.match('Series[ ]?60') || ua.match('S60')) {
|
||
|
|
this.os.name = 'Series60';
|
||
|
|
|
||
|
|
if (ua.match('SymbianOS/9.1') && !ua.match('Series60')) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '3.0'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Series60\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Nokia([^\/;]+)[\/|;]/.exec(ua)) {
|
||
|
|
if (match[1] !== 'Browser') {
|
||
|
|
this.device.manufacturer = 'Nokia';
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Vertu([^\/;]+)[\/|;]/.exec(ua)) {
|
||
|
|
this.device.manufacturer = 'Vertu';
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Symbian; U; ([^;]+); [a-z][a-z]\-[a-z][a-z]/i.exec(ua)) {
|
||
|
|
this.device.manufacturer = 'Nokia';
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Samsung\/([^;]*);/.exec(ua)) {
|
||
|
|
this.device.manufacturer = STRINGS_SAMSUNG;
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* S40
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Series40')) {
|
||
|
|
this.os.name = 'Series40';
|
||
|
|
|
||
|
|
if (match = /Nokia([^\/]+)\//.exec(ua)) {
|
||
|
|
this.device.manufacturer = 'Nokia';
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* MeeGo
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('MeeGo')) {
|
||
|
|
this.os.name = 'MeeGo';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
if (match = /Nokia([^\)]+)\)/.exec(ua)) {
|
||
|
|
this.device.manufacturer = 'Nokia';
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Maemo
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Maemo')) {
|
||
|
|
this.os.name = 'Maemo';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
if (match = /(N[0-9]+)/.exec(ua)) {
|
||
|
|
this.device.manufacturer = 'Nokia';
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Tizen
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Tizen')) {
|
||
|
|
this.os.name = 'Tizen';
|
||
|
|
|
||
|
|
if (match = /Tizen[\/ ]([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
if (match = /\(([^;]+); ([^\/]+)\//.exec(ua)) {
|
||
|
|
if (match[1] !== 'Linux') {
|
||
|
|
this.device.manufacturer = match[1];
|
||
|
|
this.device.model = match[2];
|
||
|
|
|
||
|
|
if (typeof TIZEN_MODELS[this.device.manufacturer] !== 'undefined' && typeof TIZEN_MODELS[this.device.manufacturer][this.device.model] !== 'undefined') {
|
||
|
|
var manufacturer = this.device.manufacturer;
|
||
|
|
var model = cleanupModel(this.device.model);
|
||
|
|
|
||
|
|
this.device.manufacturer = TIZEN_MODELS[manufacturer][model][0];
|
||
|
|
this.device.model = TIZEN_MODELS[manufacturer][model][1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Bada
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('[b|B]ada')) {
|
||
|
|
this.os.name = 'Bada';
|
||
|
|
|
||
|
|
if (match = /[b|B]ada\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
if (match = /\(([^;]+); ([^\/]+)\//.exec(ua)) {
|
||
|
|
this.device.manufacturer = match[1];
|
||
|
|
this.device.model = cleanupModel(match[2]);
|
||
|
|
}
|
||
|
|
|
||
|
|
if (typeof BADA_MODELS[this.device.manufacturer] !== 'undefined' && typeof BADA_MODELS[this.device.manufacturer][this.device.model] !== 'undefined') {
|
||
|
|
var manufacturer = this.device.manufacturer;
|
||
|
|
var model = cleanupModel(this.device.model);
|
||
|
|
|
||
|
|
this.device.manufacturer = BADA_MODELS[manufacturer][model][0];
|
||
|
|
this.device.model = BADA_MODELS[manufacturer][model][1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Brew
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match(/BREW/i) || ua.match('BMP; U')) {
|
||
|
|
this.os.name = 'Brew';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
if (match = /BREW; U; ([0-9.]*)/i.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
} else if (match = /;BREW\/([0-9.]*)/i.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
if (match = /\(([^;]+);U;REX\/[^;]+;BREW\/[^;]+;(?:.*;)?[0-9]+\*[0-9]+;CTC\/2.0\)/.exec(ua)) {
|
||
|
|
this.device.model = match[1];
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.device.model) {
|
||
|
|
var model = cleanupModel(this.device.model);
|
||
|
|
|
||
|
|
if (typeof BREW_MODELS[model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = BREW_MODELS[model][0];
|
||
|
|
this.device.model = BREW_MODELS[model][1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* MTK
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match(/\(MTK;/)) {
|
||
|
|
this.os.name = 'MTK';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* CrOS
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('CrOS')) {
|
||
|
|
this.os.name = 'Chrome OS';
|
||
|
|
this.device.type = 'desktop';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Joli OS
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Joli OS')) {
|
||
|
|
this.os.name = 'Joli OS';
|
||
|
|
this.device.type = 'desktop';
|
||
|
|
|
||
|
|
if (match = /Joli OS\/([0-9.]*)/i.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Haiku
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Haiku')) {
|
||
|
|
this.os.name = 'Haiku';
|
||
|
|
this.device.type = 'desktop';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* QNX
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('QNX')) {
|
||
|
|
this.os.name = 'QNX';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* OS/2 Warp
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('OS\/2; Warp')) {
|
||
|
|
this.os.name = 'OS/2 Warp';
|
||
|
|
this.device.type = 'desktop';
|
||
|
|
|
||
|
|
if (match = /OS\/2; Warp ([0-9.]*)/i.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Grid OS
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Grid OS')) {
|
||
|
|
this.os.name = 'Grid OS';
|
||
|
|
this.device.type = 'tablet';
|
||
|
|
|
||
|
|
if (match = /Grid OS ([0-9.]*)/i.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* AmigaOS
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match(/AmigaOS/i)) {
|
||
|
|
this.os.name = 'AmigaOS';
|
||
|
|
this.device.type = 'desktop';
|
||
|
|
|
||
|
|
if (match = /AmigaOS ([0-9.]*)/i.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* MorphOS
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match(/MorphOS/i)) {
|
||
|
|
this.os.name = 'MorphOS';
|
||
|
|
this.device.type = 'desktop';
|
||
|
|
|
||
|
|
if (match = /MorphOS ([0-9.]*)/i.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Kindle
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Kindle') && !ua.match('Fire')) {
|
||
|
|
this.os.name = '';
|
||
|
|
|
||
|
|
this.device.manufacturer = 'Amazon';
|
||
|
|
this.device.model = 'Kindle';
|
||
|
|
this.device.type = 'ereader';
|
||
|
|
|
||
|
|
if (ua.match('Kindle\/2.0')) this.device.model = 'Kindle 2';
|
||
|
|
if (ua.match('Kindle\/3.0')) this.device.model = 'Kindle 3 or later';
|
||
|
|
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* NOOK
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('nook browser')) {
|
||
|
|
this.os.name = 'Android';
|
||
|
|
|
||
|
|
this.device.manufacturer = 'Barnes & Noble';
|
||
|
|
this.device.model = 'NOOK';
|
||
|
|
this.device.type = 'ereader';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Bookeen
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('bookeen\/cybook')) {
|
||
|
|
this.os.name = '';
|
||
|
|
|
||
|
|
this.device.manufacturer = 'Bookeen';
|
||
|
|
this.device.model = 'Cybook';
|
||
|
|
this.device.type = 'ereader';
|
||
|
|
|
||
|
|
if (ua.match('Orizon')) {
|
||
|
|
this.device.model = 'Cybook Orizon';
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Sony Reader
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('EBRD1101')) {
|
||
|
|
this.os.name = '';
|
||
|
|
|
||
|
|
this.device.manufacturer = 'Sony';
|
||
|
|
this.device.model = 'Reader';
|
||
|
|
this.device.type = 'ereader';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* iRiver
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Iriver ;')) {
|
||
|
|
this.os.name = '';
|
||
|
|
|
||
|
|
this.device.manufacturer = 'iRiver';
|
||
|
|
this.device.model = 'Story';
|
||
|
|
this.device.type = 'ereader';
|
||
|
|
|
||
|
|
if (ua.match('EB07')) {
|
||
|
|
this.device.model = 'Story HD EB07';
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Nintendo
|
||
|
|
*
|
||
|
|
* Opera/9.30 (Nintendo Wii; U; ; 3642; en)
|
||
|
|
* Opera/9.30 (Nintendo Wii; U; ; 2047-7; en)
|
||
|
|
* Opera/9.50 (Nintendo DSi; Opera/507; U; en-US)
|
||
|
|
* Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7455.US
|
||
|
|
* Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7455.EU
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Nintendo Wii')) {
|
||
|
|
this.os.name = '';
|
||
|
|
|
||
|
|
this.device.manufacturer = 'Nintendo';
|
||
|
|
this.device.model = 'Wii';
|
||
|
|
this.device.type = 'gaming';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Nintendo DSi')) {
|
||
|
|
this.os.name = '';
|
||
|
|
|
||
|
|
this.device.manufacturer = 'Nintendo';
|
||
|
|
this.device.model = 'DSi';
|
||
|
|
this.device.type = 'gaming';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Nintendo 3DS')) {
|
||
|
|
this.os.name = '';
|
||
|
|
|
||
|
|
this.device.manufacturer = 'Nintendo';
|
||
|
|
this.device.model = '3DS';
|
||
|
|
this.device.type = 'gaming';
|
||
|
|
|
||
|
|
if (match = /Version\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
if (ua.match('PlayStation Portable')) {
|
||
|
|
this.os.name = '';
|
||
|
|
|
||
|
|
this.device.manufacturer = 'Sony';
|
||
|
|
this.device.model = 'Playstation Portable';
|
||
|
|
this.device.type = 'gaming';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('PlayStation Vita')) {
|
||
|
|
this.os.name = '';
|
||
|
|
|
||
|
|
if (match = /PlayStation Vita ([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.manufacturer = 'Sony';
|
||
|
|
this.device.model = 'PlayStation Vita';
|
||
|
|
this.device.type = 'gaming';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match(/PlayStation 3/i)) {
|
||
|
|
this.os.name = '';
|
||
|
|
|
||
|
|
if (match = /PLAYSTATION 3;? ([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.manufacturer = 'Sony';
|
||
|
|
this.device.model = 'Playstation 3';
|
||
|
|
this.device.type = 'gaming';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Panasonic Smart Viera
|
||
|
|
*
|
||
|
|
* Mozilla/5.0 (FreeBSD; U; Viera; ja-JP) AppleWebKit/535.1 (KHTML, like Gecko) Viera/1.2.4 Chrome/14.0.835.202 Safari/535.1
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Viera')) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = 'Panasonic';
|
||
|
|
this.device.model = 'Smart Viera';
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Sharp AQUOS TV
|
||
|
|
*
|
||
|
|
* Mozilla/5.0 (DTV) AppleWebKit/531.2 (KHTML, like Gecko) AQUOSBrowser/1.0 (US00DTV;V;0001;0001)
|
||
|
|
* Mozilla/5.0 (DTV) AppleWebKit/531.2+ (KHTML, like Gecko) Espial/6.0.4 AQUOSBrowser/1.0 (CH00DTV;V;0001;0001)
|
||
|
|
* Opera/9.80 (Linux armv6l; U; en) Presto/2.8.115 Version/11.10 AQUOS-AS/1.0 LC-40LE835X
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('AQUOSBrowser') || ua.match('AQUOS-AS')) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = STRINGS_SHARP;
|
||
|
|
this.device.model = 'Aquos TV';
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Samsung Smart TV
|
||
|
|
*
|
||
|
|
* Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV; Maple2012) AppleWebKit/534.7 (KHTML, like Gecko) SmartTV Safari/534.7
|
||
|
|
* Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV) AppleWebKit/531.2+ (KHTML, like Gecko) WebBrowser/1.0 SmartTV Safari/531.2+
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('SMART-TV')) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = STRINGS_SAMSUNG;
|
||
|
|
this.device.model = 'Smart TV';
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
|
||
|
|
if (match = /Maple([0-9]*)/.exec(ua)) {
|
||
|
|
this.device.model += ' ' + match[1];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Sony Internet TV
|
||
|
|
*
|
||
|
|
* Opera/9.80 (Linux armv7l; U; InettvBrowser/2.2(00014A;SonyDTV115;0002;0100) KDL-46EX640; CC/USA; en) Presto/2.8.115 Version/11.10
|
||
|
|
* Opera/9.80 (Linux armv7l; U; InettvBrowser/2.2(00014A;SonyDTV115;0002;0100) KDL-40EX640; CC/USA; en) Presto/2.10.250 Version/11.60
|
||
|
|
* Opera/9.80 (Linux armv7l; U; InettvBrowser/2.2(00014A;SonyDTV115;0002;0100) N/A; CC/USA; en) Presto/2.8.115 Version/11.10
|
||
|
|
* Opera/9.80 (Linux mips; U; InettvBrowser/2.2 (00014A;SonyDTV115;0002;0100) ; CC/JPN; en) Presto/2.9.167 Version/11.50
|
||
|
|
* Opera/9.80 (Linux mips; U; InettvBrowser/2.2 (00014A;SonyDTV115;0002;0100) AZ2CVT2; CC/CAN; en) Presto/2.7.61 Version/11.00
|
||
|
|
* Opera/9.80 (Linux armv6l; Opera TV Store/4207; U; (SonyBDP/BDV11); en) Presto/2.9.167 Version/11.50
|
||
|
|
* Opera/9.80 (Linux armv6l ; U; (SonyBDP/BDV11); en) Presto/2.6.33 Version/10.60
|
||
|
|
* Opera/9.80 (Linux armv6l; U; (SonyBDP/BDV11); en) Presto/2.8.115 Version/11.10
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('SonyDTV|SonyBDP|SonyCEBrowser')) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = 'Sony';
|
||
|
|
this.device.model = 'Internet TV';
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Philips Net TV
|
||
|
|
*
|
||
|
|
* Opera/9.70 (Linux armv6l ; U; CE-HTML/1.0 NETTV/2.0.2; en) Presto/2.2.1
|
||
|
|
* Opera/9.80 (Linux armv6l ; U; CE-HTML/1.0 NETTV/3.0.1;; en) Presto/2.6.33 Version/10.60
|
||
|
|
* Opera/9.80 (Linux mips; U; CE-HTML/1.0 NETTV/3.0.1; PHILIPS-AVM-2012; en) Presto/2.9.167 Version/11.50
|
||
|
|
* Opera/9.80 (Linux mips ; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/3.1.0; en) Presto/2.6.33 Version/10.70
|
||
|
|
* Opera/9.80 (Linux i686; U; HbbTV/1.1.1 (; Philips; ; ; ; ) CE-HTML/1.0 NETTV/3.1.0; en) Presto/2.9.167 Version/11.50
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('NETTV\/')) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = 'Philips';
|
||
|
|
this.device.model = 'Net TV';
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* LG NetCast TV
|
||
|
|
*
|
||
|
|
* Mozilla/5.0 (DirectFB; Linux armv7l) AppleWebKit/534.26+ (KHTML, like Gecko) Version/5.0 Safari/534.26+ LG Browser/5.00.00(+mouse+3D+SCREEN+TUNER; LGE; GLOBAL-PLAT4; 03.09.22; 0x00000001;); LG NetCast.TV-2012
|
||
|
|
* Mozilla/5.0 (DirectFB; Linux armv7l) AppleWebKit/534.26+ (KHTML, like Gecko) Version/5.0 Safari/534.26+ LG Browser/5.00.00(+SCREEN+TUNER; LGE; GLOBAL-PLAT4; 01.00.00; 0x00000001;); LG NetCast.TV-2012
|
||
|
|
* Mozilla/5.0 (DirectFB; U; Linux armv6l; en) AppleWebKit/531.2 (KHTML, like Gecko) Safari/531.2 LG Browser/4.1.4( BDP; LGE; Media/BD660; 6970; abc;); LG NetCast.Media-2011
|
||
|
|
* Mozilla/5.0 (DirectFB; U; Linux 7631; en) AppleWebKit/531.2 (KHTML, like Gecko) Safari/531.2 LG Browser/4.1.4( NO_NUM; LGE; Media/SP520; ST.3.97.409.F; 0x00000001;); LG NetCast.Media-2011
|
||
|
|
* Mozilla/5.0 (DirectFB; U; Linux 7630; en) AppleWebKit/531.2 (KHTML, like Gecko) Safari/531.2 LG Browser/4.1.4( 3D BDP NO_NUM; LGE; Media/ST600; LG NetCast.Media-2011
|
||
|
|
* (LGSmartTV/1.0) AppleWebKit/534.23 OBIGO-T10/2.0
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /LG NetCast\.(?:TV|Media)-([0-9]*)/.exec(ua)) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = STRINGS_LG;
|
||
|
|
this.device.model = 'NetCast TV ' + match[1];
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /LGSmartTV/.exec(ua)) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = STRINGS_LG;
|
||
|
|
this.device.model = 'Smart TV';
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Toshiba Smart TV
|
||
|
|
*
|
||
|
|
* Mozilla/5.0 (Linux mipsel; U; HbbTV/1.1.1 (; TOSHIBA; DTV_RL953; 56.7.66.7; t12; ) ; ToshibaTP/1.3.0 (+VIDEO_MP4+VIDEO_X_MS_ASF+AUDIO_MPEG+AUDIO_MP4+DRM+NATIVELAUNCH) ; en) AppleWebKit/534.1 (KHTML, like Gecko)
|
||
|
|
* Mozilla/5.0 (DTV; TSBNetTV/T32013713.0203.7DD; TVwithVideoPlayer; like Gecko) NetFront/4.1 DTVNetBrowser/2.2 (000039;T32013713;0203;7DD) InettvBrowser/2.2 (000039;T32013713;0203;7DD)
|
||
|
|
* Mozilla/5.0 (Linux mipsel; U; HbbTV/1.1.1 (; TOSHIBA; 40PX200; 0.7.3.0.; t12; ) ; Toshiba_TP/1.3.0 (+VIDEO_MP4+AUDIO_MPEG+AUDIO_MP4+VIDEO_X_MS_ASF+OFFLINEAPP) ; en) AppleWebKit/534.1 (KHTML, like Gec
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Toshiba_?TP\/') || ua.match('TSBNetTV\/')) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = 'Toshiba';
|
||
|
|
this.device.model = 'Smart TV';
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* MachBlue XT
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /mbxtWebKit\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.browser.name = 'MachBlue XT'
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
this.device.type = 'television';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* ADB
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /\(ADB; ([^\)]+)\)/.exec(ua)) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = 'ADB';
|
||
|
|
this.device.model = (match[1] !== 'Unknown' ? match[1].replace('ADB', '') + ' ' : '') + 'IPTV receiver';
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* MStar
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match(/Mstar;OWB/)) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = 'MStar';
|
||
|
|
this.device.model = 'PVR';
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
|
||
|
|
this.browser.name = 'Origyn Web Browser';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* TechniSat
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /\TechniSat ([^;]+);/.exec(ua)) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = 'TechniSat';
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Technicolor
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /\Technicolor_([^;]+);/.exec(ua)) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = 'Technicolor';
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Winbox Evo2
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /Winbox Evo2/.exec(ua)) {
|
||
|
|
this.os.name = '';
|
||
|
|
this.device.manufacturer = 'Winbox';
|
||
|
|
this.device.model = 'Evo2';
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Roku
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /^Roku\/DVP-([0-9]+)/.exec(ua)) {
|
||
|
|
this.device.manufacturer = 'Roku';
|
||
|
|
this.device.type = 'television';
|
||
|
|
|
||
|
|
switch (match[1]) {
|
||
|
|
case '2000':
|
||
|
|
this.device.model = 'HD';
|
||
|
|
break;
|
||
|
|
case '2050':
|
||
|
|
this.device.model = 'XD';
|
||
|
|
break;
|
||
|
|
case '2100':
|
||
|
|
this.device.model = 'XDS';
|
||
|
|
break;
|
||
|
|
case '2400':
|
||
|
|
this.device.model = 'LT';
|
||
|
|
break;
|
||
|
|
case '3000':
|
||
|
|
this.device.model = '2 HD';
|
||
|
|
break;
|
||
|
|
case '3050':
|
||
|
|
this.device.model = '2 XD';
|
||
|
|
break;
|
||
|
|
case '3100':
|
||
|
|
this.device.model = '2 XS';
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /HbbTV\/1.1.1 \([^;]*;\s*([^;]*)\s*;\s*([^;]*)\s*;/.exec(ua)) {
|
||
|
|
var vendorName = match[1].trim();
|
||
|
|
var modelName = match[2].trim();
|
||
|
|
|
||
|
|
if (!this.device.manufacturer && vendorName !== '' && vendorName !== 'vendorName') {
|
||
|
|
switch (vendorName) {
|
||
|
|
case 'LGE':
|
||
|
|
this.device.manufacturer = 'LG';
|
||
|
|
break;
|
||
|
|
case 'TOSHIBA':
|
||
|
|
this.device.manufacturer = 'Toshiba';
|
||
|
|
break;
|
||
|
|
case 'smart':
|
||
|
|
this.device.manufacturer = 'Smart';
|
||
|
|
break;
|
||
|
|
case 'tv2n':
|
||
|
|
this.device.manufacturer = 'TV2N';
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
this.device.manufacturer = vendorName;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!this.device.model && modelName !== '' && modelName !== 'modelName') {
|
||
|
|
switch (modelName) {
|
||
|
|
case 'GLOBAL_PLAT3':
|
||
|
|
this.device.model = 'NetCast TV';
|
||
|
|
break;
|
||
|
|
case 'SmartTV2012':
|
||
|
|
this.device.model = 'Smart TV 2012';
|
||
|
|
break;
|
||
|
|
case 'videoweb':
|
||
|
|
this.device.model = 'Videoweb';
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
this.device.model = modelName;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (vendorName === 'Humax') {
|
||
|
|
this.device.model = this.device.model.toUpperCase();
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.identified = true;
|
||
|
|
this.os.name = '';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.type = 'television';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Detect type based on common identifiers
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('InettvBrowser')) {
|
||
|
|
this.device.type = 'television';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('MIDP')) {
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Try to detect any devices based on common
|
||
|
|
* locations of model ids
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (!this.device.model && !this.device.manufacturer) {
|
||
|
|
var candidates = [];
|
||
|
|
|
||
|
|
if (!ua.match(/^(Mozilla|Opera)/)) if (match = /^(?:MQQBrowser\/[0-9\.]+\/)?([^\s]+)/.exec(ua)) {
|
||
|
|
match[1] = match[1].replace(/_TD$/, '');
|
||
|
|
match[1] = match[1].replace(/_CMCC$/, '');
|
||
|
|
match[1] = match[1].replace(/[_ ]Mozilla$/, '');
|
||
|
|
match[1] = match[1].replace(/ Linux$/, '');
|
||
|
|
match[1] = match[1].replace(/ Opera$/, '');
|
||
|
|
match[1] = match[1].replace(/\/[0-9].*$/, '');
|
||
|
|
|
||
|
|
candidates.push(match[1]);
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /[0-9]+x[0-9]+; ([^;]+)/.exec(ua)) {
|
||
|
|
candidates.push(match[1]);
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /[0-9]+X[0-9]+ ([^;\/\(\)]+)/.exec(ua)) {
|
||
|
|
candidates.push(match[1]);
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Windows NT 5.1; ([^;]+); Windows Phone/.exec(ua)) {
|
||
|
|
candidates.push(match[1]);
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /\) PPC; (?:[0-9]+x[0-9]+; )?([^;\/\(\)]+)/.exec(ua)) {
|
||
|
|
candidates.push(match[1]);
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /\(([^;]+); U; Windows Mobile/.exec(ua)) {
|
||
|
|
candidates.push(match[1]);
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Vodafone\/1.0\/([^\/]+)/.exec(ua)) {
|
||
|
|
candidates.push(match[1]);
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /\ ([^\s]+)$/.exec(ua)) {
|
||
|
|
candidates.push(match[1]);
|
||
|
|
}
|
||
|
|
|
||
|
|
for (var i = 0; i < candidates.length; i++) {
|
||
|
|
|
||
|
|
if (!this.device.model && !this.device.manufacturer) {
|
||
|
|
var model = cleanupModel(candidates[i]);
|
||
|
|
var result = false;
|
||
|
|
|
||
|
|
if (this.os.name === 'Android') {
|
||
|
|
if (typeof ANDROID_MODELS[model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = ANDROID_MODELS[model][0];
|
||
|
|
this.device.model = ANDROID_MODELS[model][1];
|
||
|
|
if (typeof ANDROID_MODELS[model][2] !== 'undefined') this.device.type = ANDROID_MODELS[model][2];
|
||
|
|
this.device.identified = true;
|
||
|
|
|
||
|
|
result = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!this.os.name || this.os.name === 'Windows' || this.os.name === 'Windows Mobile' || this.os.name === 'Windows CE') {
|
||
|
|
if (typeof WINDOWS_MOBILE_MODELS[model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = WINDOWS_MOBILE_MODELS[model][0];
|
||
|
|
this.device.model = WINDOWS_MOBILE_MODELS[model][1];
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
|
||
|
|
if (this.os.name !== 'Windows Mobile') {
|
||
|
|
this.os.name = 'Windows Mobile';
|
||
|
|
this.os.version = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
result = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!result) {
|
||
|
|
if (match = /^GIONEE-([^\s]+)/.exec(candidates[i])) {
|
||
|
|
this.device.manufacturer = 'Gionee';
|
||
|
|
this.device.model = cleanupModel(match[1]);
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /^HTC_?([^\/_]+)(?:\/|_|$)/.exec(candidates[i])) {
|
||
|
|
this.device.manufacturer = STRINGS_HTC;
|
||
|
|
this.device.model = cleanupModel(match[1]);
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /^HUAWEI-([^\/]*)/.exec(candidates[i])) {
|
||
|
|
this.device.manufacturer = STRINGS_HUAWEI;
|
||
|
|
this.device.model = cleanupModel(match[1]);
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /(?:^|\()LGE?(?:\/|-|_|\s)([^\s]*)/.exec(candidates[i])) {
|
||
|
|
this.device.manufacturer = STRINGS_LG;
|
||
|
|
this.device.model = cleanupModel(match[1]);
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /^MOT-([^\/_]+)(?:\/|_|$)/.exec(candidates[i])) {
|
||
|
|
this.device.manufacturer = STRINGS_MOTOROLA;
|
||
|
|
this.device.model = cleanupModel(match[1]);
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /^Motorola_([^\/_]+)(?:\/|_|$)/.exec(candidates[i])) {
|
||
|
|
this.device.manufacturer = STRINGS_MOTOROLA;
|
||
|
|
this.device.model = cleanupModel(match[1]);
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /^Nokia([^\/]+)(?:\/|$)/.exec(candidates[i])) {
|
||
|
|
this.device.manufacturer = 'Nokia';
|
||
|
|
this.device.model = cleanupModel(match[1]);
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
|
||
|
|
if (!this.os.name) {
|
||
|
|
this.os.name = 'Series40';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /^SonyEricsson([^\/_]+)(?:\/|_|$)/.exec(candidates[i])) {
|
||
|
|
this.device.manufacturer = STRINGS_SONY_ERICSSON;
|
||
|
|
this.device.model = cleanupModel(match[1]);
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /^SAMSUNG-([^\/_]+)(?:\/|_|$)/.exec(candidates[i])) {
|
||
|
|
this.device.manufacturer = STRINGS_SAMSUNG;
|
||
|
|
this.device.model = cleanupModel(match[1]);
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
if (this.os.name === 'Bada') {
|
||
|
|
var manufacturer = 'SAMSUNG';
|
||
|
|
var model = cleanupModel(this.device.model);
|
||
|
|
|
||
|
|
if (typeof BADA_MODELS[manufacturer] !== 'undefined' && typeof BADA_MODELS[manufacturer][model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = BADA_MODELS[manufacturer][model][0];
|
||
|
|
this.device.model = BADA_MODELS[manufacturer][model][1];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
} else if (match = /Jasmine\/([0-9.]*)/.exec(ua)) {
|
||
|
|
var version = match[1];
|
||
|
|
var manufacturer = 'SAMSUNG';
|
||
|
|
var model = cleanupModel(this.device.model);
|
||
|
|
|
||
|
|
if (typeof TOUCHWIZ_MODELS[manufacturer] !== 'undefined' && typeof TOUCHWIZ_MODELS[manufacturer][model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = TOUCHWIZ_MODELS[manufacturer][model][0];
|
||
|
|
this.device.model = TOUCHWIZ_MODELS[manufacturer][model][1];
|
||
|
|
this.device.identified = true;
|
||
|
|
|
||
|
|
this.os.name = 'Touchwiz';
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '2.0'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
} else if (match = /Dolfin\/([0-9.]*)/.exec(ua)) {
|
||
|
|
var version = match[1];
|
||
|
|
var manufacturer = 'SAMSUNG';
|
||
|
|
var model = cleanupModel(this.device.model);
|
||
|
|
|
||
|
|
if (typeof BADA_MODELS[manufacturer] !== 'undefined' && typeof BADA_MODELS[manufacturer][model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = BADA_MODELS[manufacturer][model][0];
|
||
|
|
this.device.model = BADA_MODELS[manufacturer][model][1];
|
||
|
|
this.device.identified = true;
|
||
|
|
|
||
|
|
this.os.name = 'Bada';
|
||
|
|
|
||
|
|
switch (version) {
|
||
|
|
case '2.0':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '1.0'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case '2.2':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '1.2'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case '3.0':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '2.0'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (typeof TOUCHWIZ_MODELS[manufacturer] !== 'undefined' && typeof TOUCHWIZ_MODELS[manufacturer][model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = TOUCHWIZ_MODELS[manufacturer][model][0];
|
||
|
|
this.device.model = TOUCHWIZ_MODELS[manufacturer][model][1];
|
||
|
|
this.device.identified = true;
|
||
|
|
|
||
|
|
this.os.name = 'Touchwiz';
|
||
|
|
|
||
|
|
switch (version) {
|
||
|
|
case '1.0':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '1.0'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case '1.5':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '2.0'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case '2.0':
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '3.0'
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
if (match = /\((?:LG[-|\/])(.*) (?:Browser\/)?AppleWebkit/.exec(ua)) {
|
||
|
|
this.device.manufacturer = STRINGS_LG;
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /^Mozilla\/5.0 \((?:Nokia|NOKIA)(?:\s?)([^\)]+)\)UC AppleWebkit\(like Gecko\) Safari\/530$/.exec(ua)) {
|
||
|
|
this.device.manufacturer = 'Nokia';
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.identified = true;
|
||
|
|
|
||
|
|
this.os.name = 'Series60';
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Safari
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Safari')) {
|
||
|
|
if (this.os.name === 'iOS') {
|
||
|
|
this.browser.stock = true;
|
||
|
|
this.browser.hidden = true;
|
||
|
|
this.browser.name = 'Safari';
|
||
|
|
this.browser.version = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
if (this.os.name === 'Mac OS X' || this.os.name === 'Windows') {
|
||
|
|
this.browser.name = 'Safari';
|
||
|
|
this.browser.stock = this.os.name === 'Mac OS X';
|
||
|
|
|
||
|
|
if (match = /Version\/([0-9\.]+)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match(/AppleWebKit\/[0-9\.]+\+/)) {
|
||
|
|
this.browser.name = 'WebKit Nightly Build';
|
||
|
|
this.browser.version = null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Internet Explorer
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('MSIE')) {
|
||
|
|
this.browser.name = 'Internet Explorer';
|
||
|
|
|
||
|
|
if (ua.match('IEMobile') || ua.match('Windows CE') || ua.match('Windows Phone') || ua.match('WP7')) {
|
||
|
|
this.browser.name = 'Mobile Internet Explorer';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /MSIE ([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Opera
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match(/Opera/i)) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'Opera';
|
||
|
|
|
||
|
|
if (match = /Opera[\/| ]([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Version\/([0-9.]*)/.exec(ua)) {
|
||
|
|
if (parseFloat(match[1]) >= 10) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
} else {
|
||
|
|
this.browser.version = null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.version && ua.match('Edition Labs')) {
|
||
|
|
this.browser.version.type = 'alpha';
|
||
|
|
this.browser.channel = 'Labs';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.version && ua.match('Edition Next')) {
|
||
|
|
this.browser.version.type = 'alpha';
|
||
|
|
this.browser.channel = 'Next';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Opera Tablet')) {
|
||
|
|
this.browser.name = 'Opera Mobile';
|
||
|
|
this.device.type = 'tablet';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Opera Mobi')) {
|
||
|
|
this.browser.name = 'Opera Mobile';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Opera Mini;/.exec(ua)) {
|
||
|
|
this.browser.name = 'Opera Mini';
|
||
|
|
this.browser.version = null;
|
||
|
|
this.browser.mode = 'proxy';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Opera Mini\/(?:att\/)?([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.name = 'Opera Mini';
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: -1
|
||
|
|
});
|
||
|
|
this.browser.mode = 'proxy';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.name === 'Opera' && this.device.type === 'mobile') {
|
||
|
|
this.browser.name = 'Opera Mobile';
|
||
|
|
|
||
|
|
if (ua.match(/BER/)) {
|
||
|
|
this.browser.name = 'Opera Mini';
|
||
|
|
this.browser.version = null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('InettvBrowser')) {
|
||
|
|
this.device.type = 'television';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Opera TV') || ua.match('Opera-TV')) {
|
||
|
|
this.browser.name = 'Opera';
|
||
|
|
this.device.type = 'television';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Linux zbov')) {
|
||
|
|
this.browser.name = 'Opera Mobile';
|
||
|
|
this.browser.mode = 'desktop';
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
this.os.name = null;
|
||
|
|
this.os.version = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Linux zvav')) {
|
||
|
|
this.browser.name = 'Opera Mini';
|
||
|
|
this.browser.version = null;
|
||
|
|
this.browser.mode = 'desktop';
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
this.os.name = null;
|
||
|
|
this.os.version = null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Firefox
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Firefox')) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'Firefox';
|
||
|
|
|
||
|
|
if (match = /Firefox\/([0-9ab.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.version.type === 'alpha') {
|
||
|
|
this.browser.channel = 'Aurora';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.version.type === 'beta') {
|
||
|
|
this.browser.channel = 'Beta';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Fennec')) {
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Mobile; rv')) {
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Tablet; rv')) {
|
||
|
|
this.device.type = 'tablet';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.device.type === 'mobile' || this.device.type === 'tablet') {
|
||
|
|
this.browser.name = 'Firefox Mobile';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Namoroka')) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'Firefox';
|
||
|
|
|
||
|
|
if (match = /Namoroka\/([0-9ab.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.browser.channel = 'Namoroka';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Shiretoko')) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'Firefox';
|
||
|
|
|
||
|
|
if (match = /Shiretoko\/([0-9ab.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.browser.channel = 'Shiretoko';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Minefield')) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'Firefox';
|
||
|
|
|
||
|
|
if (match = /Minefield\/([0-9ab.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.browser.channel = 'Minefield';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('Firebird')) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'Firebird';
|
||
|
|
|
||
|
|
if (match = /Firebird\/([0-9ab.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* SeaMonkey
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('SeaMonkey')) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'SeaMonkey';
|
||
|
|
|
||
|
|
if (match = /SeaMonkey\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Netscape
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Netscape')) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'Netscape';
|
||
|
|
|
||
|
|
if (match = /Netscape[0-9]?\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Konqueror
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('[k|K]onqueror/')) {
|
||
|
|
this.browser.name = 'Konqueror';
|
||
|
|
|
||
|
|
if (match = /[k|K]onqueror\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Chrome
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /(?:Chrome|CrMo|CriOS)\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'Chrome';
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
|
||
|
|
if (this.os.name === 'Android') {
|
||
|
|
switch (match[1].split('.', 3).join('.')) {
|
||
|
|
case '16.0.912':
|
||
|
|
this.browser.channel = 'Beta';
|
||
|
|
break;
|
||
|
|
case '18.0.1025':
|
||
|
|
this.browser.version.details = 1;
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
this.browser.channel = 'Nightly';
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
switch (match[1].split('.', 3).join('.')) {
|
||
|
|
case '0.2.149':
|
||
|
|
case '0.3.154':
|
||
|
|
case '0.4.154':
|
||
|
|
case '1.0.154':
|
||
|
|
case '2.0.172':
|
||
|
|
case '3.0.195':
|
||
|
|
case '4.0.249':
|
||
|
|
case '4.1.249':
|
||
|
|
case '5.0.375':
|
||
|
|
case '6.0.472':
|
||
|
|
case '7.0.517':
|
||
|
|
case '8.0.552':
|
||
|
|
case '9.0.597':
|
||
|
|
case '10.0.648':
|
||
|
|
case '11.0.696':
|
||
|
|
case '12.0.742':
|
||
|
|
case '13.0.782':
|
||
|
|
case '14.0.835':
|
||
|
|
case '15.0.874':
|
||
|
|
case '16.0.912':
|
||
|
|
case '17.0.963':
|
||
|
|
case '18.0.1025':
|
||
|
|
case '19.0.1084':
|
||
|
|
case '20.0.1132':
|
||
|
|
case '21.0.1180':
|
||
|
|
if (this.browser.version.minor === 0) this.browser.version.details = 1;
|
||
|
|
else this.browser.version.details = 2;
|
||
|
|
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
this.browser.channel = 'Nightly';
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Chrome Frame
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('chromeframe')) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'Chrome Frame';
|
||
|
|
|
||
|
|
if (match = /chromeframe\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Chromium
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Chromium')) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.channel = '';
|
||
|
|
this.browser.name = 'Chromium';
|
||
|
|
|
||
|
|
if (match = /Chromium\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* BrowserNG
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('BrowserNG')) {
|
||
|
|
this.browser.name = 'Nokia Browser';
|
||
|
|
|
||
|
|
if (match = /BrowserNG\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 3,
|
||
|
|
builds: false
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Nokia Browser
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('NokiaBrowser')) {
|
||
|
|
this.browser.name = 'Nokia Browser';
|
||
|
|
|
||
|
|
if (match = /NokiaBrowser\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 3
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* MicroB
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Maemo[ |_]Browser')) {
|
||
|
|
this.browser.name = 'MicroB';
|
||
|
|
|
||
|
|
if (match = /Maemo[ |_]Browser[ |_]([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 3
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* NetFront
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('NetFront')) {
|
||
|
|
this.browser.name = 'NetFront';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
if (match = /NetFront\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match('InettvBrowser')) {
|
||
|
|
this.device.type = 'television';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Silk
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Silk')) {
|
||
|
|
if (ua.match('Silk-Accelerated')) {
|
||
|
|
this.browser.name = 'Silk';
|
||
|
|
|
||
|
|
if (match = /Silk\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.manufacturer = 'Amazon';
|
||
|
|
this.device.model = 'Kindle Fire';
|
||
|
|
this.device.type = 'tablet';
|
||
|
|
this.device.identified = true;
|
||
|
|
|
||
|
|
if (this.os.name !== 'Android') {
|
||
|
|
this.os.name = 'Android';
|
||
|
|
this.os.version = null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Dolfin
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Dolfin')) {
|
||
|
|
this.browser.name = 'Dolfin';
|
||
|
|
|
||
|
|
if (match = /Dolfin\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Iris
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Iris')) {
|
||
|
|
this.browser.name = 'Iris';
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
this.device.model = null;
|
||
|
|
this.device.manufacturer = null;
|
||
|
|
|
||
|
|
this.os.name = 'Windows Mobile';
|
||
|
|
this.os.version = null;
|
||
|
|
|
||
|
|
if (match = /Iris\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = / WM([0-9]) /.exec(ua)) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1] + '.0'
|
||
|
|
});
|
||
|
|
} else {
|
||
|
|
this.browser.mode = 'desktop';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Jasmine
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Jasmine')) {
|
||
|
|
this.browser.name = 'Jasmine';
|
||
|
|
|
||
|
|
if (match = /Jasmine\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Boxee
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Boxee')) {
|
||
|
|
this.browser.name = 'Boxee';
|
||
|
|
this.device.type = 'television';
|
||
|
|
|
||
|
|
if (match = /Boxee\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Espial
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('Espial')) {
|
||
|
|
this.browser.name = 'Espial';
|
||
|
|
|
||
|
|
this.os.name = '';
|
||
|
|
this.os.version = null;
|
||
|
|
|
||
|
|
if (this.device.type !== 'television') {
|
||
|
|
this.device.type = 'television';
|
||
|
|
this.device.model = null;
|
||
|
|
this.device.manufacturer = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Espial\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* ANT Galio
|
||
|
|
*/
|
||
|
|
if (match = /ANTGalio\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.name = 'ANT Galio';
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 3
|
||
|
|
});
|
||
|
|
this.device.type = 'television';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* NetFront NX
|
||
|
|
*/
|
||
|
|
if (match = /NX\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.name = 'NetFront NX';
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
if (match = /DTV/i.exec(ua)) {
|
||
|
|
this.device.type = 'television';
|
||
|
|
} else if (match = /mobile/i.exec(ua)) {
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
} else {
|
||
|
|
this.device.type = 'desktop';
|
||
|
|
}
|
||
|
|
|
||
|
|
this.os.name = null;
|
||
|
|
this.os.version = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Obigo
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match(/Obigo/i)) {
|
||
|
|
this.browser.name = 'Obigo';
|
||
|
|
|
||
|
|
if (match = /Obigo\/([0-9.]*)/i.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Obigo\/([A-Z])([0-9.]*)/i.exec(ua)) {
|
||
|
|
this.browser.name = 'Obigo ' + match[1];
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[2]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Obigo-([A-Z])([0-9.]*)\//i.exec(ua)) {
|
||
|
|
this.browser.name = 'Obigo ' + match[1];
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[2]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* UC Web
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('UCWEB')) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'UC Browser';
|
||
|
|
|
||
|
|
if (match = /UCWEB([0-9]*[.][0-9]*)/.exec(ua)) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 3
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.os.name === 'Linux') {
|
||
|
|
this.os.name = '';
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
if (match = /^IUC \(U;\s?iOS ([0-9\.]+);/.exec(ua)) {
|
||
|
|
this.os.name = 'iOS';
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /^JUC \(Linux; U; ([0-9\.]+)[^;]*; [^;]+; ([^;]*[^\s])\s*; [0-9]+\*[0-9]+\)/.exec(ua)) {
|
||
|
|
var model = cleanupModel(match[2]);
|
||
|
|
|
||
|
|
this.os.name = 'Android';
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
|
||
|
|
if (typeof ANDROID_MODELS[model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = ANDROID_MODELS[model][0];
|
||
|
|
this.device.model = ANDROID_MODELS[model][1];
|
||
|
|
if (typeof ANDROID_MODELS[model][2] !== 'undefined') this.device.type = ANDROID_MODELS[model][2];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (ua.match(/\) UC /)) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'UC Browser';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /UCBrowser\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = 'UC Browser';
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* NineSky
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /Ninesky(?:-android-mobile(?:-cn)?)?\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.name = 'NineSky';
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
|
||
|
|
if (this.os.name !== 'Android') {
|
||
|
|
this.os.name = 'Android';
|
||
|
|
this.os.version = null;
|
||
|
|
|
||
|
|
this.device.manufacturer = null;
|
||
|
|
this.device.model = null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Skyfire
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /Skyfire\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.name = 'Skyfire';
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
this.os.name = 'Android';
|
||
|
|
this.os.version = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Dolphin HD
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /DolphinHDCN\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.name = 'Dolphin';
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
if (this.os.name !== 'Android') {
|
||
|
|
this.os.name = 'Android';
|
||
|
|
this.os.version = null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Dolphin\/INT/.exec(ua)) {
|
||
|
|
this.browser.name = 'Dolphin';
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* QQ Browser
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /(M?QQBrowser)\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.name = 'QQ Browser';
|
||
|
|
|
||
|
|
var version = match[2];
|
||
|
|
if (version.match(/^[0-9][0-9]$/)) version = version[0] + '.' + version[1];
|
||
|
|
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: version,
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
this.browser.channel = ''
|
||
|
|
|
||
|
|
if (!this.os.name && match[1] === 'QQBrowser') {
|
||
|
|
this.os.name = 'Windows';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* iBrowser
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /(iBrowser)\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.name = 'iBrowser';
|
||
|
|
|
||
|
|
var version = match[2];
|
||
|
|
if (version.match(/[0-9][0-9]/)) version = version[0] + '.' + version[1];
|
||
|
|
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: version,
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
this.browser.channel = ''
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Puffin
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /Puffin\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.name = 'Puffin';
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: 2
|
||
|
|
});
|
||
|
|
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
if (this.os.name === 'Linux') {
|
||
|
|
this.os.name = null;
|
||
|
|
this.os.version = null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* 360 Extreme Explorer
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (ua.match('360EE')) {
|
||
|
|
this.browser.stock = false;
|
||
|
|
this.browser.name = '360 Extreme Explorer';
|
||
|
|
this.browser.version = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Midori
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /Midori\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.browser.name = 'Midori';
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
|
||
|
|
if (this.os.name !== 'Linux') {
|
||
|
|
this.os.name = 'Linux';
|
||
|
|
this.os.version = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
this.device.manufacturer = null;
|
||
|
|
this.device.model = null;
|
||
|
|
this.device.type = 'desktop';
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Others
|
||
|
|
*/
|
||
|
|
|
||
|
|
var browsers = [{
|
||
|
|
name: 'AdobeAIR',
|
||
|
|
regexp: /AdobeAIR\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Awesomium',
|
||
|
|
regexp: /Awesomium\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Canvace',
|
||
|
|
regexp: /Canvace Standalone\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Ekioh',
|
||
|
|
regexp: /Ekioh\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'JavaFX',
|
||
|
|
regexp: /JavaFX\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'GFXe',
|
||
|
|
regexp: /GFXe\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'LuaKit',
|
||
|
|
regexp: /luakit/
|
||
|
|
}, {
|
||
|
|
name: 'Titanium',
|
||
|
|
regexp: /Titanium\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'OpenWebKitSharp',
|
||
|
|
regexp: /OpenWebKitSharp/
|
||
|
|
}, {
|
||
|
|
name: 'Prism',
|
||
|
|
regexp: /Prism\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Qt',
|
||
|
|
regexp: /Qt\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'QtEmbedded',
|
||
|
|
regexp: /QtEmbedded/
|
||
|
|
}, {
|
||
|
|
name: 'QtEmbedded',
|
||
|
|
regexp: /QtEmbedded.*Qt\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'RhoSimulator',
|
||
|
|
regexp: /RhoSimulator/
|
||
|
|
}, {
|
||
|
|
name: 'UWebKit',
|
||
|
|
regexp: /UWebKit\/([0-9.]*)/
|
||
|
|
},
|
||
|
|
|
||
|
|
{
|
||
|
|
name: 'PhantomJS',
|
||
|
|
regexp: /PhantomJS\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Google Web Preview',
|
||
|
|
regexp: /Google Web Preview/
|
||
|
|
},
|
||
|
|
|
||
|
|
{
|
||
|
|
name: 'Google Earth',
|
||
|
|
regexp: /Google Earth\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'EA Origin',
|
||
|
|
regexp: /Origin\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'SecondLife',
|
||
|
|
regexp: /SecondLife\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Valve Steam',
|
||
|
|
regexp: /Valve Steam/
|
||
|
|
},
|
||
|
|
|
||
|
|
{
|
||
|
|
name: 'Songbird',
|
||
|
|
regexp: /Songbird\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Thunderbird',
|
||
|
|
regexp: /Thunderbird\/([0-9.]*)/
|
||
|
|
},
|
||
|
|
|
||
|
|
{
|
||
|
|
name: 'Abrowser',
|
||
|
|
regexp: /Abrowser\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'arora',
|
||
|
|
regexp: /[Aa]rora\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Baidu Browser',
|
||
|
|
regexp: /M?BaiduBrowser\/([0-9.]*)/i
|
||
|
|
}, {
|
||
|
|
name: 'Camino',
|
||
|
|
regexp: /Camino\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Canure',
|
||
|
|
regexp: /Canure\/([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'CometBird',
|
||
|
|
regexp: /CometBird\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Comodo Dragon',
|
||
|
|
regexp: /Comodo_Dragon\/([0-9.]*)/,
|
||
|
|
details: 2
|
||
|
|
}, {
|
||
|
|
name: 'Conkeror',
|
||
|
|
regexp: /[Cc]onkeror\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'CoolNovo',
|
||
|
|
regexp: /(?:CoolNovo|CoolNovoChromePlus)\/([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'ChromePlus',
|
||
|
|
regexp: /ChromePlus(?:\/([0-9.]*))?$/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'Daedalus',
|
||
|
|
regexp: /Daedalus ([0-9.]*)/,
|
||
|
|
details: 2
|
||
|
|
}, {
|
||
|
|
name: 'Demobrowser',
|
||
|
|
regexp: /demobrowser\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Dooble',
|
||
|
|
regexp: /Dooble(?:\/([0-9.]*))?/
|
||
|
|
}, {
|
||
|
|
name: 'DWB',
|
||
|
|
regexp: /dwb(?:-hg)?(?:\/([0-9.]*))?/
|
||
|
|
}, {
|
||
|
|
name: 'Epiphany',
|
||
|
|
regexp: /Epiphany\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'FireWeb',
|
||
|
|
regexp: /FireWeb\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Flock',
|
||
|
|
regexp: /Flock\/([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'Galeon',
|
||
|
|
regexp: /Galeon\/([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'Helium',
|
||
|
|
regexp: /HeliumMobileBrowser\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'iCab',
|
||
|
|
regexp: /iCab\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Iceape',
|
||
|
|
regexp: /Iceape\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'IceCat',
|
||
|
|
regexp: /IceCat ([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Iceweasel',
|
||
|
|
regexp: /Iceweasel\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'InternetSurfboard',
|
||
|
|
regexp: /InternetSurfboard\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Iron',
|
||
|
|
regexp: /Iron\/([0-9.]*)/,
|
||
|
|
details: 2
|
||
|
|
}, {
|
||
|
|
name: 'Isis',
|
||
|
|
regexp: /BrowserServer/
|
||
|
|
}, {
|
||
|
|
name: 'Jumanji',
|
||
|
|
regexp: /jumanji/
|
||
|
|
}, {
|
||
|
|
name: 'Kazehakase',
|
||
|
|
regexp: /Kazehakase\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'KChrome',
|
||
|
|
regexp: /KChrome\/([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'K-Meleon',
|
||
|
|
regexp: /K-Meleon\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Leechcraft',
|
||
|
|
regexp: /Leechcraft(?:\/([0-9.]*))?/,
|
||
|
|
details: 2
|
||
|
|
}, {
|
||
|
|
name: 'Lightning',
|
||
|
|
regexp: /Lightning\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Lunascape',
|
||
|
|
regexp: /Lunascape[\/| ]([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'iLunascape',
|
||
|
|
regexp: /iLunascape\/([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'Maxthon',
|
||
|
|
regexp: /Maxthon[\/ ]([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'MiniBrowser',
|
||
|
|
regexp: /MiniBr?owserM\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'MiniBrowser',
|
||
|
|
regexp: /MiniBrowserMobile\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'MixShark',
|
||
|
|
regexp: /MixShark\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Motorola WebKit',
|
||
|
|
regexp: /MotorolaWebKit\/([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'NetFront LifeBrowser',
|
||
|
|
regexp: /NetFrontLifeBrowser\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Netscape Navigator',
|
||
|
|
regexp: /Navigator\/([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'Odyssey',
|
||
|
|
regexp: /OWB\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'OmniWeb',
|
||
|
|
regexp: /OmniWeb/
|
||
|
|
}, {
|
||
|
|
name: 'Orca',
|
||
|
|
regexp: /Orca\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Origyn',
|
||
|
|
regexp: /Origyn Web Browser/
|
||
|
|
}, {
|
||
|
|
name: 'Palemoon',
|
||
|
|
regexp: /Pale[mM]oon\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Phantom',
|
||
|
|
regexp: /Phantom\/V([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Polaris',
|
||
|
|
regexp: /Polaris\/v?([0-9.]*)/i,
|
||
|
|
details: 2
|
||
|
|
}, {
|
||
|
|
name: 'QtCreator',
|
||
|
|
regexp: /QtCreator\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'QtQmlViewer',
|
||
|
|
regexp: /QtQmlViewer/
|
||
|
|
}, {
|
||
|
|
name: 'QtTestBrowser',
|
||
|
|
regexp: /QtTestBrowser\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'QtWeb',
|
||
|
|
regexp: /QtWeb Internet Browser\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'QupZilla',
|
||
|
|
regexp: /QupZilla\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Roccat',
|
||
|
|
regexp: /Roccat\/([0-9]\.[0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Raven for Mac',
|
||
|
|
regexp: /Raven for Mac\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'rekonq',
|
||
|
|
regexp: /rekonq/
|
||
|
|
}, {
|
||
|
|
name: 'RockMelt',
|
||
|
|
regexp: /RockMelt\/([0-9.]*)/,
|
||
|
|
details: 2
|
||
|
|
}, {
|
||
|
|
name: 'Sleipnir',
|
||
|
|
regexp: /Sleipnir\/([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'SMBrowser',
|
||
|
|
regexp: /SMBrowser/
|
||
|
|
}, {
|
||
|
|
name: 'Sogou Explorer',
|
||
|
|
regexp: /SE 2.X MetaSr/
|
||
|
|
}, {
|
||
|
|
name: 'Snowshoe',
|
||
|
|
regexp: /Snowshoe\/([0-9.]*)/,
|
||
|
|
details: 2
|
||
|
|
}, {
|
||
|
|
name: 'Sputnik',
|
||
|
|
regexp: /Sputnik\/([0-9.]*)/i,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'Stainless',
|
||
|
|
regexp: /Stainless\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'SunChrome',
|
||
|
|
regexp: /SunChrome\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Surf',
|
||
|
|
regexp: /Surf\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'TaoBrowser',
|
||
|
|
regexp: /TaoBrowser\/([0-9.]*)/,
|
||
|
|
details: 2
|
||
|
|
}, {
|
||
|
|
name: 'TaomeeBrowser',
|
||
|
|
regexp: /TaomeeBrowser\/([0-9.]*)/,
|
||
|
|
details: 2
|
||
|
|
}, {
|
||
|
|
name: 'TazWeb',
|
||
|
|
regexp: /TazWeb/
|
||
|
|
}, {
|
||
|
|
name: 'Viera',
|
||
|
|
regexp: /Viera\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Villanova',
|
||
|
|
regexp: /Villanova\/([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'Wavelink Velocity',
|
||
|
|
regexp: /Wavelink Velocity Browser\/([0-9.]*)/,
|
||
|
|
details: 2
|
||
|
|
}, {
|
||
|
|
name: 'WebPositive',
|
||
|
|
regexp: /WebPositive/
|
||
|
|
}, {
|
||
|
|
name: 'WebRender',
|
||
|
|
regexp: /WebRender/
|
||
|
|
}, {
|
||
|
|
name: 'Wyzo',
|
||
|
|
regexp: /Wyzo\/([0-9.]*)/,
|
||
|
|
details: 3
|
||
|
|
}, {
|
||
|
|
name: 'Zetakey',
|
||
|
|
regexp: /Zetakey Webkit\/([0-9.]*)/
|
||
|
|
}, {
|
||
|
|
name: 'Zetakey',
|
||
|
|
regexp: /Zetakey\/([0-9.]*)/
|
||
|
|
}]
|
||
|
|
|
||
|
|
for (var b = 0; b < browsers.length; b++) {
|
||
|
|
if (match = browsers[b].regexp.exec(ua)) {
|
||
|
|
this.browser.name = browsers[b].name;
|
||
|
|
this.browser.channel = '';
|
||
|
|
this.browser.stock = false;
|
||
|
|
|
||
|
|
if (match[1]) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: match[1],
|
||
|
|
details: browsers[b].details || null
|
||
|
|
});
|
||
|
|
} else {
|
||
|
|
this.browser.version = null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* WebKit
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /WebKit\/([0-9.]*)/i.exec(ua)) {
|
||
|
|
this.engine.name = 'Webkit';
|
||
|
|
this.engine.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Browser\/AppleWebKit([0-9.]*)/i.exec(ua)) {
|
||
|
|
this.engine.name = 'Webkit';
|
||
|
|
this.engine.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* KHTML
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /KHTML\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.engine.name = 'KHTML';
|
||
|
|
this.engine.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Gecko
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (/Gecko/.exec(ua) && !/like Gecko/i.exec(ua)) {
|
||
|
|
this.engine.name = 'Gecko';
|
||
|
|
|
||
|
|
if (match = /; rv:([^\)]+)\)/.exec(ua)) {
|
||
|
|
this.engine.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Presto
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /Presto\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.engine.name = 'Presto';
|
||
|
|
this.engine.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Trident
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (match = /Trident\/([0-9.]*)/.exec(ua)) {
|
||
|
|
this.engine.name = 'Trident';
|
||
|
|
this.engine.version = new Version({
|
||
|
|
value: match[1]
|
||
|
|
});
|
||
|
|
|
||
|
|
if (this.browser.name === 'Internet Explorer') {
|
||
|
|
if (parseVersion(this.engine.version) === 6 && parseFloat(this.browser.version) < 10) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: '10.0'
|
||
|
|
});
|
||
|
|
this.browser.mode = 'compat';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (parseVersion(this.engine.version) === 5 && parseFloat(this.browser.version) < 9) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: '9.0'
|
||
|
|
});
|
||
|
|
this.browser.mode = 'compat';
|
||
|
|
}
|
||
|
|
|
||
|
|
if (parseVersion(this.engine.version) === 4 && parseFloat(this.browser.version) < 8) {
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: '8.0'
|
||
|
|
});
|
||
|
|
this.browser.mode = 'compat';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.os.name === 'Windows Phone') {
|
||
|
|
if (parseVersion(this.engine.version) === 5 && parseFloat(this.os.version) < 7.5) {
|
||
|
|
this.os.version = new Version({
|
||
|
|
value: '7.5'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Corrections
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (this.os.name === 'Android' && this.browser.stock) {
|
||
|
|
this.browser.hidden = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.os.name === 'iOS' && this.browser.name === 'Opera Mini') {
|
||
|
|
this.os.version = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.name === 'Midori' && this.engine.name !== 'Webkit') {
|
||
|
|
this.engine.name = 'Webkit';
|
||
|
|
this.engine.version = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.device.type === 'television' && this.browser.name === 'Opera') {
|
||
|
|
this.browser.name = 'Opera Devices';
|
||
|
|
switch (true) {
|
||
|
|
case this.engine.version.is('2.10'):
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: 3.2
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case this.engine.version.is('2.9'):
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: 3.1
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case this.engine.version.is('2.8'):
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: 3.0
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case this.engine.version.is('2.7'):
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: 2.9
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case this.engine.version.is('2.6'):
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: 2.8
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case this.engine.version.is('2.4'):
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: 10.3
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case this.engine.version.is('2.3'):
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: 10
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case this.engine.version.is('2.2'):
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: 9.7
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
case this.engine.version.is('2.1'):
|
||
|
|
this.browser.version = new Version({
|
||
|
|
value: 9.6
|
||
|
|
});
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
this.browser.version = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
this.os.name = null;
|
||
|
|
this.os.version = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/****************************************************
|
||
|
|
* Camouflage
|
||
|
|
*/
|
||
|
|
|
||
|
|
if (this.options.detectCamouflage) {
|
||
|
|
|
||
|
|
if (match = /Mac OS X 10_6_3; ([^;]+); [a-z]{2}-(?:[a-z]{2})?\)/.exec(ua)) {
|
||
|
|
this.browser.name = '';
|
||
|
|
this.browser.version = null;
|
||
|
|
this.browser.mode = 'desktop';
|
||
|
|
|
||
|
|
this.os.name = 'Android';
|
||
|
|
this.os.version = null;
|
||
|
|
|
||
|
|
this.engine.name = 'Webkit';
|
||
|
|
this.engine.version = null;
|
||
|
|
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
var model = cleanupModel(this.device.model);
|
||
|
|
if (typeof ANDROID_MODELS[model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = ANDROID_MODELS[model][0];
|
||
|
|
this.device.model = ANDROID_MODELS[model][1];
|
||
|
|
if (typeof ANDROID_MODELS[model][2] !== 'undefined') this.device.type = ANDROID_MODELS[model][2];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
this.features.push('foundDevice');
|
||
|
|
}
|
||
|
|
|
||
|
|
if (match = /Linux Ventana; [a-z]{2}-[a-z]{2}; (.+) Build/.exec(ua)) {
|
||
|
|
this.browser.name = '';
|
||
|
|
this.browser.version = null;
|
||
|
|
this.browser.mode = 'desktop';
|
||
|
|
|
||
|
|
this.os.name = 'Android';
|
||
|
|
this.os.version = null;
|
||
|
|
|
||
|
|
this.engine.name = 'Webkit';
|
||
|
|
this.engine.version = null;
|
||
|
|
|
||
|
|
this.device.model = match[1];
|
||
|
|
this.device.type = 'mobile';
|
||
|
|
|
||
|
|
var model = cleanupModel(this.device.model);
|
||
|
|
if (typeof ANDROID_MODELS[model] !== 'undefined') {
|
||
|
|
this.device.manufacturer = ANDROID_MODELS[model][0];
|
||
|
|
this.device.model = ANDROID_MODELS[model][1];
|
||
|
|
if (typeof ANDROID_MODELS[model][2] !== 'undefined') this.device.type = ANDROID_MODELS[model][2];
|
||
|
|
this.device.identified = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
this.features.push('foundDevice');
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.name === 'Safari') {
|
||
|
|
if (this.os.name !== 'iOS' && /AppleWebKit\/([0-9]+.[0-9]+)/i.exec(ua)[1] !== /Safari\/([0-9]+.[0-9]+)/i.exec(ua)[1]) {
|
||
|
|
this.features.push('safariMismatch');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.os.name === 'iOS' && !ua.match(/^Mozilla/)) {
|
||
|
|
this.features.push('noMozillaPrefix');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!/Version\/[0-9\.]+/.exec(ua)) {
|
||
|
|
this.features.push('noVersion');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.name === 'Chrome') {
|
||
|
|
if (!/(?:Chrome|CrMo|CriOS)\/([0-9]{1,2}\.[0-9]\.[0-9]{3,4}\.[0-9]+)/.exec(ua)) {
|
||
|
|
this.features.push('wrongVersion');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
if (this.options.useFeatures) {
|
||
|
|
/* If it claims not to be Trident, but it is probably Trident running camouflage mode */
|
||
|
|
if (window.ActiveXObject) {
|
||
|
|
this.features.push('trident');
|
||
|
|
|
||
|
|
if (typeof this.engine.name !== 'undefined' && this.engine.name !== 'Trident') {
|
||
|
|
this.camouflage = typeof this.browser.name === 'undefined' || this.browser.name !== 'Maxthon';
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* If it claims not to be Opera, but it is probably Opera running camouflage mode */
|
||
|
|
if (window.opera) {
|
||
|
|
this.features.push('presto');
|
||
|
|
|
||
|
|
if (typeof this.engine.name !== 'undefined' && this.engine.name !== 'Presto') {
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.name === 'Internet Explorer') {
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* If it claims not to be Gecko, but it is probably Gecko running camouflage mode */
|
||
|
|
if ('getBoxObjectFor' in document || 'mozInnerScreenX' in window) {
|
||
|
|
this.features.push('gecko');
|
||
|
|
|
||
|
|
if (typeof this.engine.name !== 'undefined' && this.engine.name !== 'Gecko') {
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.name === 'Internet Explorer') {
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* If it claims not to be Webkit, but it is probably Webkit running camouflage mode */
|
||
|
|
if ('WebKitCSSMatrix' in window || 'WebKitPoint' in window || 'webkitStorageInfo' in window || 'webkitURL' in window) {
|
||
|
|
this.features.push('webkit');
|
||
|
|
|
||
|
|
if (typeof this.engine.name !== 'undefined' && this.engine.name !== 'Webkit') {
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.name === 'Internet Explorer') {
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/* If it claims to be Safari and uses V8, it is probably an Android device running camouflage mode */
|
||
|
|
if (this.engine.name === 'Webkit' && ({}.toString).toString().indexOf('\n') === -1) {
|
||
|
|
this.features.push('v8');
|
||
|
|
|
||
|
|
if (this.browser !== null && this.browser.name === 'Safari') {
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/* If we have an iPad that is not 768 x 1024, we have an imposter */
|
||
|
|
if (this.device.model === 'iPad') {
|
||
|
|
if ((screen.width !== 0 && screen.height !== 0) && (screen.width !== 768 && screen.height !== 1024) && (screen.width !== 1024 && screen.height !== 768)) {
|
||
|
|
this.features.push('sizeMismatch');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* If we have an iPhone or iPod that is not 320 x 480, we have an imposter */
|
||
|
|
if (this.device.model === 'iPhone' || this.device.model === 'iPod') {
|
||
|
|
if ((screen.width !== 0 && screen.height !== 0) && (screen.width !== 320 && screen.height !== 480) && (screen.width !== 480 && screen.height !== 320)) {
|
||
|
|
this.features.push('sizeMismatch');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
if (this.os.name === 'iOS' && this.os.version) {
|
||
|
|
|
||
|
|
if (this.os.version.isOlder('4.0') && 'sandbox' in document.createElement('iframe')) {
|
||
|
|
this.features.push('foundSandbox');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.os.version.isOlder('4.2') && 'WebSocket' in window) {
|
||
|
|
this.features.push('foundSockets');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.os.version.isOlder('5.0') && !! window.Worker) {
|
||
|
|
this.features.push('foundWorker');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.os.version.isNewer('2.1') && !window.applicationCache) {
|
||
|
|
this.features.push('noAppCache');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.os.name !== 'iOS' && this.browser.name === 'Safari' && this.browser.version) {
|
||
|
|
|
||
|
|
if (this.browser.version.isOlder('4.0') && !! window.applicationCache) {
|
||
|
|
this.features.push('foundAppCache');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.version.isOlder('4.1') && !! (window.history && history.pushState)) {
|
||
|
|
this.features.push('foundHistory');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.version.isOlder('5.1') && !! document.documentElement.webkitRequestFullScreen) {
|
||
|
|
this.features.push('foundFullscreen');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (this.browser.version.isOlder('5.2') && 'FileReader' in window) {
|
||
|
|
this.features.push('foundFileReader');
|
||
|
|
this.camouflage = true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
function cleanupModel(s) {
|
||
|
|
s = typeof s === 'undefined' ? '' : s;
|
||
|
|
|
||
|
|
s = s.replace(/_TD$/, '');
|
||
|
|
s = s.replace(/_CMCC$/, '');
|
||
|
|
|
||
|
|
s = s.replace(/_/g, ' ');
|
||
|
|
s = s.replace(/^\s+|\s+$/g, '');
|
||
|
|
s = s.replace(/\/[^/]+$/, '');
|
||
|
|
s = s.replace(/\/[^/]+ Android\/.*/, '');
|
||
|
|
|
||
|
|
s = s.replace(/^tita on /, '');
|
||
|
|
s = s.replace(/^Android on /, '');
|
||
|
|
s = s.replace(/^Android for /, '');
|
||
|
|
s = s.replace(/^ICS AOSP on /, '');
|
||
|
|
s = s.replace(/^Full AOSP on /, '');
|
||
|
|
s = s.replace(/^Full Android on /, '');
|
||
|
|
s = s.replace(/^Full Cappuccino on /, '');
|
||
|
|
s = s.replace(/^Full MIPS Android on /, '');
|
||
|
|
s = s.replace(/^Full Android/, '');
|
||
|
|
|
||
|
|
s = s.replace(/^Acer ?/i, '');
|
||
|
|
s = s.replace(/^Iconia /, '');
|
||
|
|
s = s.replace(/^Ainol /, '');
|
||
|
|
s = s.replace(/^Coolpad ?/i, 'Coolpad ');
|
||
|
|
s = s.replace(/^ALCATEL /, '');
|
||
|
|
s = s.replace(/^Alcatel OT-(.*)/, 'one touch $1');
|
||
|
|
s = s.replace(/^YL-/, '');
|
||
|
|
s = s.replace(/^Novo7 ?/i, 'Novo7 ');
|
||
|
|
s = s.replace(/^GIONEE /, '');
|
||
|
|
s = s.replace(/^HW-/, '');
|
||
|
|
s = s.replace(/^Huawei[ -]/i, 'Huawei ');
|
||
|
|
s = s.replace(/^SAMSUNG[ -]/i, '');
|
||
|
|
s = s.replace(/^SonyEricsson/, '');
|
||
|
|
s = s.replace(/^Lenovo Lenovo/, 'Lenovo');
|
||
|
|
s = s.replace(/^LNV-Lenovo/, 'Lenovo');
|
||
|
|
s = s.replace(/^Lenovo-/, 'Lenovo ');
|
||
|
|
s = s.replace(/^(LG)[ _\/]/, '$1-');
|
||
|
|
s = s.replace(/^(HTC.*)\s(?:v|V)?[0-9.]+$/, '$1');
|
||
|
|
s = s.replace(/^(HTC)[-\/]/, '$1 ');
|
||
|
|
s = s.replace(/^(HTC)([A-Z][0-9][0-9][0-9])/, '$1 $2');
|
||
|
|
s = s.replace(/^(Motorola[\s|-])/, '')
|
||
|
|
s = s.replace(/^(Moto|MOT-)/, '')
|
||
|
|
|
||
|
|
s = s.replace(/-?(orange(-ls)?|vodafone|bouygues)$/i, '');
|
||
|
|
s = s.replace(/http:\/\/.+$/i, '');
|
||
|
|
|
||
|
|
s = s.replace(/^\s+|\s+$/g, '');
|
||
|
|
|
||
|
|
return s;
|
||
|
|
}
|
||
|
|
|
||
|
|
function parseVersion(version) {
|
||
|
|
version = version.toString();
|
||
|
|
var components = version.split('.');
|
||
|
|
var major = components.shift();
|
||
|
|
return parseFloat(major + '.' + components.join(''));
|
||
|
|
}
|
||
|
|
|
||
|
|
return Detected;
|
||
|
|
|
||
|
|
})();
|