diff --git a/data/manufacturers.php b/data/manufacturers.php index 0cad314..f355810 100644 --- a/data/manufacturers.php +++ b/data/manufacturers.php @@ -2,6 +2,7 @@ Manufacturers::$TELEVISION = array( 'BANGOLUFSEN' => 'Bang & Olufsen', + 'CHANGHONG' => 'Changhong', 'inverto' => 'Inverto', 'LG Electronics' => 'LG', 'LGE' => 'LG', diff --git a/data/models-android.php b/data/models-android.php index e8e01b8..28aea99 100644 --- a/data/models-android.php +++ b/data/models-android.php @@ -345,33 +345,69 @@ /* Regular devices */ + 'EL72B' => array( '3Q', 'Qoo! Q-Book EL72B', TYPE_TABLET ), + 'AC0731B' => array( '3Q', 'Qoo! Q-Pad AC0731B', TYPE_TABLET ), + 'AC1024C' => array( '3Q', 'Qoo! Q-Pad AC1024C', TYPE_TABLET ), + 'AC7803C' => array( '3Q', 'Qoo! Q-Pad AC7803C', TYPE_TABLET ), 'BC9710A' => array( '3Q', 'Qoo! Q-Pad BC9710A', TYPE_TABLET ), 'BC9710AM' => array( '3Q', 'Qoo! Q-Pad BC9710A', TYPE_TABLET ), 'LC0720C' => array( '3Q', 'Qoo! Q-Pad LC0720C', TYPE_TABLET ), + 'LC0723B' => array( '3Q', 'Qoo! Q-Pad LC0723B', TYPE_TABLET ), + 'LC0725B' => array( '3Q', 'Qoo! Q-Pad LC0725B', TYPE_TABLET ), 'LC0804B' => array( '3Q', 'Qoo! Q-Pad LC0804B', TYPE_TABLET ), + 'LC0808B' => array( '3Q', 'Qoo! Q-Pad LC0808B', TYPE_TABLET ), + 'LC0809B' => array( '3Q', 'Qoo! Q-Pad LC0809B', TYPE_TABLET ), + 'LC0810C' => array( '3Q', 'Qoo! Q-Pad LC0810C', TYPE_TABLET ), + 'LC0816C' => array( '3Q', 'Qoo! Q-Pad LC0816C', TYPE_TABLET ), + 'LC0901D' => array( '3Q', 'Qoo! Q-Pad LC0901D', TYPE_TABLET ), 'LC1016C' => array( '3Q', 'Qoo! Q-Pad LC1016C', TYPE_TABLET ), 'LC9721C' => array( '3Q', 'Qoo! Q-Pad LC9721C', TYPE_TABLET ), + 'MT0724B' => array( '3Q', 'Qoo! Q-Pad MT0724B', TYPE_TABLET ), + 'MT0729B' => array( '3Q', 'Qoo! Q-Pad MT0729B', TYPE_TABLET ), + 'MT0729D' => array( '3Q', 'Qoo! Q-Pad MT0729D', TYPE_TABLET ), + 'MT0811B' => array( '3Q', 'Qoo! Q-Pad MT0811B', TYPE_TABLET ), 'MT7801C' => array( '3Q', 'Qoo! Q-Pad MT7801C', TYPE_TABLET ), + 'RC0709B' => array( '3Q', 'Qoo! Q-Pad RC0709B', TYPE_TABLET ), 'RC0710B' => array( '3Q', 'Qoo! Q-Pad RC0710B', TYPE_TABLET ), 'RC0718C' => array( '3Q', 'Qoo! Q-Pad RC0718C', TYPE_TABLET ), 'RC0719H' => array( '3Q', 'Qoo! Q-Pad RC0719H', TYPE_TABLET ), 'RC0721B' => array( '3Q', 'Qoo! Q-Pad RC0721B', TYPE_TABLET ), 'RC0722C' => array( '3Q', 'Qoo! Q-Pad RC0722C', TYPE_TABLET ), + 'RC0726B' => array( '3Q', 'Qoo! Q-Pad RC0726B', TYPE_TABLET ), + 'RC0734H' => array( '3Q', 'Qoo! Q-Pad RC0734H', TYPE_TABLET ), 'RC0738C' => array( '3Q', 'Qoo! Q-Pad RC0738C', TYPE_TABLET ), + 'RC0743H' => array( '3Q', 'Qoo! Q-Pad RC0743H', TYPE_TABLET ), + 'RC0813C' => array( '3Q', 'Qoo! Q-Pad RC0813C', TYPE_TABLET ), + 'RC0817C' => array( '3Q', 'Qoo! Q-Pad RC0817C', TYPE_TABLET ), + 'RC1018C' => array( '3Q', 'Qoo! Q-Pad RC1018C', TYPE_TABLET ), + 'RC1019G' => array( '3Q', 'Qoo! Q-Pad RC1019G', TYPE_TABLET ), 'RC1025F' => array( '3Q', 'Qoo! Q-Pad RC1025F', TYPE_TABLET ), + 'RC1301C' => array( '3Q', 'Qoo! Q-Pad RC1301C', TYPE_TABLET ), + 'RC7802F' => array( '3Q', 'Qoo! Q-Pad RC7802F', TYPE_TABLET ), 'RC9711B' => array( '3Q', 'Qoo! Q-Pad RC9711B', TYPE_TABLET ), + 'RC9712C' => array( '3Q', 'Qoo! Q-Pad RC9712C', TYPE_TABLET ), 'RC9716B' => array( '3Q', 'Qoo! Q-Pad RC9716B', TYPE_TABLET ), 'RC9717B' => array( '3Q', 'Qoo! Q-Pad RC9717B', TYPE_TABLET ), 'RC9724C' => array( '3Q', 'Qoo! Q-Pad RC9724C', TYPE_TABLET ), + 'RC9726C' => array( '3Q', 'Qoo! Q-Pad RC9726C', TYPE_TABLET ), 'RC9727F' => array( '3Q', 'Qoo! Q-Pad RC9727F', TYPE_TABLET ), 'RC9730C' => array( '3Q', 'Qoo! Q-Pad RC9730C', TYPE_TABLET ), 'RC9731C' => array( '3Q', 'Qoo! Q-Pad RC9731C', TYPE_TABLET ), + 'QS0715C' => array( '3Q', 'Qoo! Q-Pad QS0715C', TYPE_TABLET ), + 'QS0716D' => array( '3Q', 'Qoo! Q-Pad QS0716D', TYPE_TABLET ), + 'QS0717D' => array( '3Q', 'Qoo! Q-Pad QS0717D', TYPE_TABLET ), 'QS0728C' => array( '3Q', 'Qoo! Q-Pad QS0728C', TYPE_TABLET ), + 'QS0730C' => array( '3Q', 'Qoo! Q-Pad QS0730C', TYPE_TABLET ), + 'QS0815C' => array( '3Q', 'Qoo! Q-Pad QS0815C', TYPE_TABLET ), 'QS9718C' => array( '3Q', 'Qoo! Q-Pad QS9718C', TYPE_TABLET ), + 'VM1017A' => array( '3Q', 'Qoo! Q-Pad VM1017A', TYPE_TABLET ), + 'TS0807B' => array( '3Q', 'Qoo! Q-Note TS0807B', TYPE_TABLET ), 'TS1003T' => array( '3Q', 'Qoo! Surf Tablet TS1003T', TYPE_TABLET ), 'TS1004T' => array( '3Q', 'Qoo! Surf Tablet TS1004T', TYPE_TABLET ), 'TS1009B' => array( '3Q', 'Qoo! Surf Tablet TS1009B', TYPE_TABLET ), + 'OC1020A' => array( '3Q', 'Qoo! Surf Tablet OC1020A', TYPE_TABLET ), 'QS9715F' => array( '3Q', 'Qoo! Surf Tablet QS9715F', TYPE_TABLET ), + 'QS9719D' => array( '3Q', 'Qoo! Surf Tablet QS9719D', TYPE_TABLET ), 'QS1023H' => array( '3Q', 'Qoo! Surf Tablet QS1023H', TYPE_TABLET ), 'VM0711A' => array( '3Q', 'Qoo! Surf Tablet VM0711A', TYPE_TABLET ), 'BioniQ 700' => array( 'a-rival', 'BioniQ 700', TYPE_TABLET ), @@ -463,6 +499,7 @@ 'Z200' => array( 'Acer', 'Liquid Z200' ), 'Z220' => array( 'Acer', 'Liquid Z220' ), 'Z410' => array( 'Acer', 'Liquid Z410' ), + 'Z500' => array( 'Acer', 'Liquid Z500' ), 'Z520' => array( 'Acer', 'Liquid Z520' ), 'TD600' => array( 'Acer', 'beTouch TD600' ), 'AK330' => array( 'Acer', 'Liquid Gallant Duo' ), @@ -526,6 +563,13 @@ 'M801' => array( 'aigo', 'aigoPad M801', TYPE_TABLET ), 'N700' => array( 'aigo', 'aigoPad N700', TYPE_TABLET ), 'AT102HC' => array( 'Aikun', 'iTouch AT102HC', TYPE_TABLET ), + 'Numy 3G AW1' => array( 'Ainol', 'Numy 3G AW1', TYPE_TABLET ), + 'Numy 3G AX1' => array( 'Ainol', 'Numy 3G AX1', TYPE_TABLET ), + 'Numy 3G AX10t' => array( 'Ainol', 'Numy 3G AX10t', TYPE_TABLET ), + 'Numy 3G AX3' => array( 'Ainol', 'Numy 3G AX3', TYPE_TABLET ), + 'Numy 3G BW1' => array( 'Ainol', 'Numy 3G BW1', TYPE_TABLET ), + 'Numy 3G Vegas' => array( 'Ainol', 'Numy 3G Vegas', TYPE_TABLET ), + 'Numy Note 9' => array( 'Ainol', 'Numy Note 9', TYPE_TABLET ), 'Novo7' => array( 'Ainovo', 'Novo7', TYPE_TABLET ), 'Novo7 -?Aurora!' => array( 'Ainovo', 'Novo7 Aurora', TYPE_TABLET ), 'novo Aurora' => array( 'Ainovo', 'Novo7 Aurora', TYPE_TABLET ), @@ -912,11 +956,13 @@ 'AN7BG3' => array( 'Archos', 'Arnova 7b G3', TYPE_TABLET ), 'AN7CG3' => array( 'Archos', 'Arnova 7c G3', TYPE_TABLET ), 'AN7DG3' => array( 'Archos', 'Arnova 7d G3', TYPE_TABLET ), + 'AN7DG3B' => array( 'Archos', 'Arnova 7d G3', TYPE_TABLET ), 'AN7DG3-CP' => array( 'Archos', 'Arnova Childpad', TYPE_TABLET ), 'AN7FG3' => array( 'Archos', 'Arnova 7f G3', TYPE_TABLET ), 'AN7HG3' => array( 'Archos', 'Arnova 7h G3', TYPE_TABLET ), 'A80KSC!' => array( 'Archos', 'Arnova 8', TYPE_TABLET ), 'AN8G2' => array( 'Archos', 'Arnova 8 G2', TYPE_TABLET ), + 'AN8G2I' => array( 'Archos', 'Arnova 8 G2', TYPE_TABLET ), 'AN8G3' => array( 'Archos', 'Arnova 8 G3', TYPE_TABLET ), 'AN8BG3' => array( 'Archos', 'Arnova 8b G3', TYPE_TABLET ), 'AN8CG3' => array( 'Archos', 'Arnova 8c G3', TYPE_TABLET ), @@ -999,9 +1045,11 @@ 'Archos 53 Platinum' => array( 'Archos', '53 Platinum' ), // Elements 'Archos 5.3s Platinum' => array( 'Archos', '53s Platinum' ), // Elements 'ARCHOS 79 Platinum' => array( 'Archos', '79 Platinum', TYPE_TABLET ), // Elements + 'ARCHOS 80 Platinum' => array( 'Archos', '80 Platinum', TYPE_TABLET ), // Elements 'ARCHOS 80b PLATINUM' => array( 'Archos', '80b Platinum', TYPE_TABLET ), // Elements 'ARCHOS 97 Platinum' => array( 'Archos', '97 Platinum', TYPE_TABLET ), // Elements 'ARCHOS 97b PLATINUM' => array( 'Archos', '97b Platinum', TYPE_TABLET ), // Elements + 'ARCHOS 101 PLATINUM' => array( 'Archos', '101 Platinum', TYPE_TABLET ), // Elements 'Archos 101b Platinium' => array( 'Archos', '101b Platinum', TYPE_TABLET ), // Elements 'Archos 35 Titanium' => array( 'Archos', '35 Titanium' ), // Elements 'Archos 35b Titanium' => array( 'Archos', '35b Titanium' ), // Elements @@ -1027,6 +1075,7 @@ 'Archos 101 Xenon' => array( 'Archos', '101 Xenon', TYPE_TABLET ), // Elements 'ARCHOS 80 CHILDPAD' => array( 'Archos', '80 Childpad', TYPE_TABLET ), 'ARCHOS 101 CHILDPAD' => array( 'Archos', '101 Childpad', TYPE_TABLET ), + 'Archos Chefpad' => array( 'Archos', 'ChefPad', TYPE_GAMING ), 'ARCHOS GAMEPAD' => array( 'Archos', 'Gamepad', TYPE_GAMING ), 'ARCHOS GAMEPAD2' => array( 'Archos', 'Gamepad 2', TYPE_GAMING ), 'ARCHOS FAMILYPAD 2' => array( 'Archos', 'Familypad 2', TYPE_TABLET ), @@ -1117,7 +1166,6 @@ 'K00F' => array( 'Asus', 'MemoPad 10', TYPE_TABLET ), 'K012' => array( 'Asus', 'Fonepad 7', TYPE_TABLET ), 'K019' => array( 'Asus', 'Fonepad 7', TYPE_TABLET ), - 'K012' => array( 'Asus', 'Fonepad 8 2014', TYPE_TABLET ), 'K014' => array( 'Asus', 'Transformer Pad', TYPE_TABLET ), 'K016' => array( 'Asus', 'Fonepad 8 2014', TYPE_TABLET ), 'K01E' => array( 'Asus', 'MemoPad 10', TYPE_TABLET ), @@ -1183,6 +1231,7 @@ 'Avvio 792s' => array( 'Avvio', '792s' ), 'Avvio 793' => array( 'Avvio', '793' ), 'Avvio L500 Claro' => array( 'Avvio', 'L500' ), + 'Avvio PAD' => array( 'Avvio', 'Pad', TYPE_TABLET ), 'PICOphone 2' => array( 'Axioo', 'PICOphone 2' ), 'PICOphone 4' => array( 'Axioo', 'PICOphone 4' ), 'Picophone4' => array( 'Axioo', 'PICOphone 4' ), @@ -1213,6 +1262,8 @@ 'AXPAD 7E02' => array( 'Axtrom', 'Axpad 7" Series-7E02', TYPE_TABLET ), 'AXPAD 7I04' => array( 'Axtrom', 'Axpad 7" Series-7I04', TYPE_TABLET ), 'AXPAD 9P01' => array( 'Axtrom', 'Axpad 9" Series-9P01', TYPE_TABLET ), + 'Axxion ATAB-701' => array( 'Axxion', 'ATAB-701', TYPE_TABLET ), + 'Axxion ATAB-902' => array( 'Axxion', 'ATAB-902', TYPE_TABLET ), 'A10 MID' => array( 'Azhuo', 'A10 MID', TYPE_TABLET ), 'A10MID' => array( 'Azhuo', 'A10 MID', TYPE_TABLET ), 'Azumi A35S' => array( 'Azumi', 'A35s' ), @@ -1282,6 +1333,8 @@ 'BF9100' => array( 'Bifer', 'BF9100' ), 'BF9200' => array( 'Bifer', 'BF9200' ), 'BIRD E700' => array( 'Bird', 'E700' ), + 'Bird-Doeasy E700' => array( 'Bird', 'Doeasy E700' ), + 'Bird i7' => array( 'Bird', 'I7' ), 'Bird i8' => array( 'Bird', 'I8' ), 'Bird i500' => array( 'Bird', 'I500' ), 'Bird i600' => array( 'Bird', 'I600' ), @@ -1294,6 +1347,8 @@ 'BIRD T900' => array( 'Bird', 'T900' ), 'T9108' => array( 'Bird', 'T9108' ), 'Bird T9608' => array( 'Bird', 'T9608' ), + 'BIRD-V8' => array( 'Bird', 'V8' ), + 'BIRD W5' => array( 'Bird', 'W5' ), 'Bird W188' => array( 'Bird', 'W188' ), 'Bird XL100' => array( 'Bird', 'XL100' ), '(BB )?Q5$!' => array( 'BlackBerry', 'Q5' ), @@ -1399,6 +1454,7 @@ 'Bmobile AX570' => array( 'Bmobile', 'AX570' ), 'AX600' => array( 'Bmobile', 'AX600' ), 'AX610' => array( 'Bmobile', 'AX610' ), + 'Bmobile AX610' => array( 'Bmobile', 'AX610' ), 'AX620' => array( 'Bmobile', 'AX620' ), 'Bmobile AX620' => array( 'Bmobile', 'AX620' ), 'AX650' => array( 'Bmobile', 'AX650' ), @@ -1407,6 +1463,7 @@ 'Bmobile AX745' => array( 'Bmobile', 'AX745' ), 'Bmobile AX810' => array( 'Bmobile', 'AX810' ), 'BMOBILE AX1060' => array( 'Bmobile', 'AX1060' ), + 'Bmobile T35AC' => array( 'Bmobile', 'T35AC' ), 'JC-S9220' => array( 'Bmorn', 'Phone One' ), 'BM999' => array( 'Bmorn', 'BM999', TYPE_TABLET ), 'V11' => array( 'Bmorn', 'V11', TYPE_TABLET ), @@ -1429,6 +1486,26 @@ 'BOWAY V70' => array( 'Boway', 'V70' ), 'BOWAY V80' => array( 'Boway', 'V80' ), 'BroadSign Xpress!' => array( 'BroadSign', 'Xpress', TYPE_SIGNAGE ), + 'CENTURION' => array( 'Brondi', 'CENTURION' ), + 'CENTURION 3' => array( 'Brondi', 'CENTURION 3' ), + 'GLADIATOR' => array( 'Brondi', 'GLADIATOR' ), + 'GLADIATOR-2' => array( 'Brondi', 'GLADIATOR 2' ), + 'GLADIATOR 3' => array( 'Brondi', 'GLADIATOR 3' ), + 'GLADIATOR 4' => array( 'Brondi', 'GLADIATOR 4' ), + 'Glory' => array( 'Brondi', 'GLORY' ), + 'Glory 2' => array( 'Brondi', 'GLORY 2' ), + 'Glory3' => array( 'Brondi', 'GLORY 3' ), + 'GLORY 4' => array( 'Brondi', 'GLORY 4' ), + 'LUXURY' => array( 'Brondi', 'LUXURY' ), + 'LUXURY 3' => array( 'Brondi', 'LUXURY 3' ), + 'LUXURY 4' => array( 'Brondi', 'LUXURY 4' ), + 'LUXURY 5' => array( 'Brondi', 'LUXURY 5' ), + 'SENSUELLE' => array( 'Brondi', 'SENSUELLE' ), + 'VICTORY' => array( 'Brondi', 'VICTORY' ), + 'Victory 2' => array( 'Brondi', 'VICTORY 2' ), + 'Victory 3' => array( 'Brondi', 'VICTORY 3' ), + 'Surfing TAB B 9.7 3G' => array( 'Brondi', 'SURFING TAB B', TYPE_TABLET ), + 'Surfing Tab C 3G' => array( 'Brondi', 'SURFING TAB C', TYPE_TABLET ), 'BROR G2' => array( 'BROR', 'G2' ), 'BRS-BROR S3' => array( 'BROR', 'S3' ), 'BROR S9' => array( 'BROR', 'S9' ), @@ -1523,6 +1600,12 @@ 'B15Q' => array( 'CAT', 'B15Q' ), 'S50' => array( 'CAT', 'S50' ), 'CAT NOVA' => array( 'CAT', 'NOVA', TYPE_TABLET ), + 'Cat Tablet Android 4.0.4' => array( 'CAT', 'NOVA', TYPE_TABLET ), + 'CatNova8' => array( 'CAT', 'NOVA8', TYPE_TABLET ), + 'Cat Tablet PHOENIX 8.1J0' => array( 'CAT', 'PHOENIX', TYPE_TABLET ), + 'Cat Tablet Galactica X 9.7CA' => array( 'CAT', 'GALACTICA X', TYPE_TABLET ), + 'Cat StarGate' => array( 'CAT', 'STARGATE', TYPE_TABLET ), + 'Cat Tablet StarGate 2' => array( 'CAT', 'STARGATE 2', TYPE_TABLET ), 'Celkon A8+' => array( 'Celkon', 'A8+' ), 'CELKON A9 Dual' => array( 'Celkon', 'A9' ), 'CELKON A9+' => array( 'Celkon', 'A9+' ), @@ -1538,6 +1621,7 @@ 'Celkon A62' => array( 'Celkon', 'A62' ), 'Celkon A 63' => array( 'Celkon', 'A63' ), 'CELKON A64' => array( 'Celkon', 'A64' ), + 'Celkon A66' => array( 'Celkon', 'A66' ), 'Celkon A67' => array( 'Celkon', 'A67' ), 'Celkon A75' => array( 'Celkon', 'A75' ), 'Celkon A 77' => array( 'Celkon', 'A77' ), @@ -1561,6 +1645,7 @@ 'Celkon A 225' => array( 'Celkon', 'A225' ), 'Celkon A404' => array( 'Celkon', 'Campus Buddy A404' ), 'Celkon A500' => array( 'Celkon', 'Signature Two A500' ), + 'Celkon A.R 40' => array( 'Celkon', 'AR40' ), 'Celkon A.R 45' => array( 'Celkon', 'AR45' ), 'Celkon A.R 50' => array( 'Celkon', 'AR50' ), 'Celkon C720' => array( 'Celkon', 'C720', TYPE_TABLET ), @@ -1605,11 +1690,14 @@ 'Flare S100' => array( 'Cherry Mobile', 'Flare' ), 'Flare 2.0' => array( 'Cherry Mobile', 'Flare 2.0' ), 'Flare 2.1' => array( 'Cherry Mobile', 'Flare 2.1' ), + 'Flare2X' => array( 'Cherry Mobile', 'Flare 2X' ), 'Burst S280' => array( 'Cherry Mobile', 'Burst' ), 'Cherry Mobile Burst' => array( 'Cherry Mobile', 'Burst' ), + 'Cherry Life' => array( 'Cherry Mobile', 'Life' ), 'Cherry Razor' => array( 'Cherry Mobile', 'Razor' ), 'Cherry Mobile Razor' => array( 'Cherry Mobile', 'Razor' ), 'CHERRY SNAP' => array( 'Cherry Mobile', 'Snap' ), + 'Cherry Sonic' => array( 'Cherry Mobile', 'Sonic' ), 'Cherry thunder2.0' => array( 'Cherry Mobile', 'Thunder 2.0' ), 'Thunder S220' => array( 'Cherry Mobile', 'Thunder S220' ), 'H120' => array( 'Cherry Mobile', 'H120' ), @@ -1693,6 +1781,7 @@ 'MID1042' => array( 'Coby', 'Kyros MID1042', TYPE_TABLET ), 'MID1045' => array( 'Coby', 'Kyros MID1045', TYPE_TABLET ), 'MID1048' => array( 'Coby', 'Kyros MID1048', TYPE_TABLET ), + 'MID1060' => array( 'Coby', 'Kyros MID1060', TYPE_TABLET ), 'MID1065' => array( 'Coby', 'Kyros MID1065', TYPE_TABLET ), 'MID1125' => array( 'Coby', 'Kyros MID1125', TYPE_TABLET ), 'MID1126' => array( 'Coby', 'Kyros MID1126', TYPE_TABLET ), @@ -1720,7 +1809,9 @@ 'MID7047' => array( 'Coby', 'Kyros MID7047', TYPE_TABLET ), 'MID7048' => array( 'Coby', 'Kyros MID7048', TYPE_TABLET ), 'MID7051' => array( 'Coby', 'Kyros MID7051', TYPE_TABLET ), + 'MID7052' => array( 'Coby', 'Kyros MID7052', TYPE_TABLET ), 'MID7065' => array( 'Coby', 'Kyros MID7065', TYPE_TABLET ), + 'MID7120' => array( 'Coby', 'Kyros MID7120', TYPE_TABLET ), 'MID7125' => array( 'Coby', 'Kyros MID7125', TYPE_TABLET ), 'MID7127' => array( 'Coby', 'Kyros MID7127', TYPE_TABLET ), 'MID8024' => array( 'Coby', 'Kyros MID8024', TYPE_TABLET ), @@ -1730,7 +1821,9 @@ 'MID8120' => array( 'Coby', 'Kyros MID8120', TYPE_TABLET ), 'MID8125' => array( 'Coby', 'Kyros MID8125', TYPE_TABLET ), 'MID8127' => array( 'Coby', 'Kyros MID8127', TYPE_TABLET ), + 'MID8128' => array( 'Coby', 'Kyros MID8128', TYPE_TABLET ), 'MID9042' => array( 'Coby', 'Kyros MID9042', TYPE_TABLET ), + 'MID9724' => array( 'Coby', 'Kyros MID9724', TYPE_TABLET ), 'MID9740' => array( 'Coby', 'Kyros MID9740', TYPE_TABLET ), 'MID9742' => array( 'Coby', 'Kyros MID9742', TYPE_TABLET ), 'MID9760' => array( 'Coby', 'Kyros MID9760', TYPE_TABLET ), @@ -1763,6 +1856,7 @@ 'Colors X27' => array( 'Colors', 'Xfactor Wave X27' ), 'Colors X45' => array( 'Colors', 'X45' ), 'Colors X115' => array( 'Colors', 'Xfactor Quad II X115' ), + 'ConCorde SmartPhone 4300' => array( 'ConCorde', 'SmartPhone 4300' ), 'ConCorde SmartPhone5000' => array( 'ConCorde', 'SmartPhone 5000' ), 'ConCorde Smartphone 5005 NFC' => array( 'ConCorde', 'SmartPhone 5005 NFC' ), 'ConCorde SmartPhone5700' => array( 'ConCorde', 'SmartPhone 5700' ), @@ -1771,6 +1865,7 @@ 'ConCorde tab NOVUM' => array( 'ConCorde', 'tab NOVUM', TYPE_TABLET ), 'ConCorde tab PLAY' => array( 'ConCorde', 'tab PLAY', TYPE_TABLET ), 'ConCorde tab Speed' => array( 'ConCorde', 'tab SPEED', TYPE_TABLET ), + 'ConCorde Tab T10' => array( 'ConCorde', 'tab T10', TYPE_TABLET ), 'Coolgen E68+' => array( 'Coolgen', 'E68+' ), 'Coolgen E69+' => array( 'Coolgen', 'E69+' ), 'Coolgen E70' => array( 'Coolgen', 'E70' ), @@ -1892,7 +1987,7 @@ 'Coolpad 8070' => array( 'Coolpad', '8070' ), 'Coolpad 8070D' => array( 'Coolpad', '8070' ), 'Coolpad 8076' => array( 'Coolpad', '8076' ), - 'Coolpad-8076!' => array( 'Coolpad', '8076' ), + 'Coolpad -8076!' => array( 'Coolpad', '8076' ), 'Coolpad 8076D' => array( 'Coolpad', '8076' ), 'Coolpad 8079' => array( 'Coolpad', '8079' ), 'Coolpad 8085' => array( 'Coolpad', '8085' ), @@ -1942,6 +2037,7 @@ 'Coolpad 9960' => array( 'Coolpad', 'Grand HD 9960' ), 'Coolpad 9970' => array( 'Coolpad', 'Grand 4 9970' ), 'Coolpad 9976!' => array( 'Coolpad', '9976' ), + 'Coolpad Flo' => array( 'Coolpad', 'Flo' ), 'CLP281X' => array( 'Craig', 'CLP281x', TYPE_TABLET ), 'CMP741d' => array( 'Craig', 'CMP741d', TYPE_TABLET ), 'CMP741E' => array( 'Craig', 'CMP741e', TYPE_TABLET ), @@ -1974,6 +2070,8 @@ 'CROSS A88' => array( 'Cross', 'A88' ), 'CROSS AT1G' => array( 'Cross', 'AT1G', TYPE_TABLET ), 'CROSS AT1G*' => array( 'Cross', 'AT1G', TYPE_TABLET ), + 'Crosscall ELEMENT' => array( 'Crosscall', 'ELEMENT' ), + 'CROSSCALL WILD' => array( 'Crosscall', 'WILD' ), 'Novapad 70 D124 FC' => array( 'Crypto', 'NovaPad 70 D124', TYPE_TABLET ), 'Novapad 70 S124 FC' => array( 'Crypto', 'NovaPad 70 S124', TYPE_TABLET ), 'NovaPad80C104' => array( 'Crypto', 'NovaPad 80 C104', TYPE_TABLET ), @@ -1991,6 +2089,8 @@ 'CUBOT P9' => array( 'Cubot', 'P9' ), 'CUBOT S108' => array( 'Cubot', 'S108' ), 'CUBOT S222' => array( 'Cubot', 'S222' ), + 'S222' => array( 'Cubot', 'S222' ), + 'S308' => array( 'Cubot', 'S308' ), 'CUBOT X6' => array( 'Cubot', 'X6' ), 'CUBE K8GT A' => array( 'Cube', 'K8GT A', TYPE_TABLET ), 'CUBE K8GT B' => array( 'Cube', 'K8GT B', TYPE_TABLET ), @@ -2091,6 +2191,21 @@ 'Dakele A380' => array( 'Dakele', 'A380' ), 'DAKELE MC001' => array( 'Dakele', 'MC001' ), 'MC002' => array( 'Dakele', 'MC002' ), + 'Dslide 700' => array( 'Danew', 'DSlide 700', TYPE_TABLET ), + 'Dslide 702' => array( 'Danew', 'DSlide 702', TYPE_TABLET ), + 'Dslide 703R' => array( 'Danew', 'DSlide 703R', TYPE_TABLET ), + 'Dslide 704' => array( 'Danew', 'DSlide 704', TYPE_TABLET ), + 'Dslide 706' => array( 'Danew', 'DSlide 706', TYPE_TABLET ), + 'Dslide 707' => array( 'Danew', 'DSlide 707', TYPE_TABLET ), + 'Dslide800' => array( 'Danew', 'DSlide 800', TYPE_TABLET ), + 'Dslide801' => array( 'Danew', 'DSlide 801', TYPE_TABLET ), + 'Dslide900' => array( 'Danew', 'DSlide 900', TYPE_TABLET ), + 'Dslide 971' => array( 'Danew', 'DSlide 971', TYPE_TABLET ), + 'Dslide971DC' => array( 'Danew', 'DSlide 971', TYPE_TABLET ), + 'DSlide972' => array( 'Danew', 'DSlide 972', TYPE_TABLET ), + 'DSlide973' => array( 'Danew', 'DSlide 973', TYPE_TABLET ), + 'Dslide973QC' => array( 'Danew', 'DSlide 973', TYPE_TABLET ), + 'DSlide 1013' => array( 'Danew', 'DSlide 1013', TYPE_TABLET ), 'Genius TAB GIII' => array( 'Dany', 'Genius Tab G3', TYPE_TABLET ), 'GENIUS-G4' => array( 'Dany', 'Genius Tab G4', TYPE_TABLET ), 'Genius TAB G4' => array( 'Dany', 'Genius Tab G4', TYPE_TABLET ), @@ -2139,6 +2254,7 @@ 'Dell XCD35' => array( 'Dell', 'XCD35' ), 'XCD35' => array( 'Dell', 'XCD35' ), 'DEM752HCF' => array( 'Denver', 'TAC-7018', TYPE_TABLET ), + 'TAC-7028' => array( 'Denver', 'TAC-7028', TYPE_TABLET ), 'TAC-10011' => array( 'Denver', 'TAC-10011', TYPE_TABLET ), 'TAC-10031 MK2' => array( 'Denver', 'TAC-10031', TYPE_TABLET ), 'TAC-70031' => array( 'Denver', 'TAC-70031', TYPE_TABLET ), @@ -2155,10 +2271,12 @@ 'TAD-10021' => array( 'Denver', 'TAD-10021', TYPE_TABLET ), 'TAD-10023' => array( 'Denver', 'TAD-10023', TYPE_TABLET ), 'DENVER-TAD-10082' => array( 'Denver', 'TAD-10082', TYPE_TABLET ), + 'TAD-70092' => array( 'Denver', 'TAD-70092', TYPE_TABLET ), 'TAD-70092 BLACK MK2 PO8341' => array( 'Denver', 'TAD-70092', TYPE_TABLET ), 'TAD-70111PO8275' => array( 'Denver', 'TAD-70111', TYPE_TABLET ), 'TAD-97052' => array( 'Denver', 'TAD-97052', TYPE_TABLET ), 'TAD-97052mk2' => array( 'Denver', 'TAD-97052', TYPE_TABLET ), + 'TAD-97072G' => array( 'Denver', 'TAD-97072', TYPE_TABLET ), 'TAD-97082!' => array( 'Denver', 'TAD-97082', TYPE_TABLET ), 'deovo V5' => array( 'deovo', 'V5' ), 'DESAY TS808' => array( 'Desay', 'TS808' ), @@ -2259,10 +2377,12 @@ 'DPS Dream 7' => array( 'DPS', 'Dream 7', TYPE_TABLET ), 'DPS Dream 9' => array( 'DPS', 'Dream 9', TYPE_TABLET ), 'domod G20' => array( 'Domod', 'G20' ), - 'Collo DG100' => array( 'Doogee', 'Collo DG100', TYPE_TABLET ), - 'Collo 2 DG120' => array( 'Doogee', 'Collo 2 DG120', TYPE_TABLET ), - 'VOYAGER DG300' => array( 'Doogee', 'Voyager DG300', TYPE_TABLET ), - 'VOYAGER2 DG310' => array( 'Doogee', 'Voyager 2 DG310', TYPE_TABLET ), + 'Collo DG100' => array( 'Doogee', 'Collo DG100' ), + 'Collo 2 DG120' => array( 'Doogee', 'Collo 2 DG120' ), + 'VOYAGER DG300' => array( 'Doogee', 'Voyager DG300' ), + 'VOYAGER2 DG310' => array( 'Doogee', 'Voyager 2 DG310' ), + 'Discovery DG500' => array( 'Doogee', 'Discovery DG500' ), + 'TURBO DG2014' => array( 'Doogee', 'Turbo DG2014' ), 'DOOV C1' => array( 'DOOV', 'C1' ), 'DOOV C7' => array( 'DOOV', 'C7' ), 'DOOV D2' => array( 'DOOV', 'D2' ), @@ -2273,6 +2393,8 @@ 'DOOV D9' => array( 'DOOV', 'D9' ), 'DOOV D10' => array( 'DOOV', 'D10' ), 'DOOV D30' => array( 'DOOV', 'D30' ), + 'DOOV-DOOV D300' => array( 'DOOV', 'D300' ), + 'DOOV D350' => array( 'DOOV', 'D350' ), 'DOOV D360' => array( 'DOOV', 'D360' ), 'DOOV D500' => array( 'DOOV', 'D500' ), 'DOOV D708' => array( 'DOOV', 'D708' ), @@ -2280,8 +2402,10 @@ 'DOOV D720' => array( 'DOOV', 'D720' ), 'DOOV D770' => array( 'DOOV', 'D770' ), 'DOOV D910T' => array( 'DOOV', 'D910T' ), + 'DOOV S1' => array( 'DOOV', 'S1' ), 'DOOV S2' => array( 'DOOV', 'S2' ), 'DOOV S2y' => array( 'DOOV', 'S2y' ), + 'DOOV T60' => array( 'DOOV', 'T60' ), 'DOOV T90' => array( 'DOOV', 'T90' ), 'Doro Liberto 810' => array( 'Doro', 'Liberto 810' ), 'Doro Liberto 820' => array( 'Doro', 'Liberto 820' ), @@ -2310,6 +2434,8 @@ 'Etel i4' => array( 'E-tel', 'Curiosity i4' ), 'Etel i6' => array( 'E-tel', 'Curiosity i6' ), 'Etel i8' => array( 'E-tel', 'Curiosity i8' ), + 'EasyPhone EP5' => array( 'Easypix', 'EasyPhone EP5' ), + 'EasyPad 971' => array( 'Easypix', 'EasyPad 971', TYPE_TABLET ), 'EBEN S1' => array( 'EBEN', 'S1', TYPE_TABLET ), 'EBEN T6' => array( 'EBEN', 'T6', TYPE_TABLET ), 'EBEN T7' => array( 'EBEN', 'T7', TYPE_TABLET ), @@ -2328,6 +2454,18 @@ 'EBEST W66A' => array( 'EBEST', 'W66A' ), 'EBEST W70' => array( 'EBEST', 'W70' ), 'EBEST Z5' => array( 'EBEST', 'Z5' ), + 'TA10CA3' => array( 'ECS', 'TA10CA3', TYPE_TABLET ), + 'TM105' => array( 'ECS', 'TM105', TYPE_TABLET ), + 'TM105A' => array( 'ECS', 'TM105A', TYPE_TABLET ), + 'TR10CS1' => array( 'ECS', 'TR10CS1', TYPE_TABLET ), + 'Elephone G6' => array( 'Elephone', 'G6' ), + 'Elephone-P10C' => array( 'Elephone', 'P10C' ), + 'Elephone-P2000' => array( 'Elephone', 'P2000' ), + 'Elephone P2000' => array( 'Elephone', 'P2000' ), + 'Elephone P3000!' => array( 'Elephone', 'P3000' ), + 'Elephone P5000!' => array( 'Elephone', 'P5000' ), + 'Elephone P6000!' => array( 'Elephone', 'P6000' ), + 'Elephone P3000!' => array( 'Elephone', 'P3000' ), 'D709' => array( 'Empire Electronix', 'Tablet D709', TYPE_TABLET ), 'C8660' => array( 'Enspire', 'C8660' ), 'edgejr' => array( 'EnTourage', 'Pocket eDGe', TYPE_TABLET ), @@ -2359,10 +2497,18 @@ 'EverClassic' => array( 'Evertek', 'EverClassic' ), 'EverFancy D40' => array( 'Evertek', 'EverFancy D40' ), 'EverGlory' => array( 'Evertek', 'EverGlory' ), + 'EverMagic' => array( 'Evertek', 'EverMagic' ), 'EverMellow D45' => array( 'Evertek', 'EverMellow D45' ), + 'EverMellow D50' => array( 'Evertek', 'EverMellow D50' ), 'EverMiracle' => array( 'Evertek', 'EverMiracle' ), 'EverMiracle mini' => array( 'Evertek', 'EverMiracle Mini' ), + 'EverMiracle Nano' => array( 'Evertek', 'EverMiracle Nano' ), 'EverShine' => array( 'Evertek', 'EverShine' ), + 'EverTrendy' => array( 'Evertek', 'EverTrendy' ), + 'E7020HD' => array( 'Evertek', 'Everpad E7020HD', TYPE_TABLET ), + 'E7050HD' => array( 'Evertek', 'Everpad E7050HD', TYPE_TABLET ), + 'E8050HG' => array( 'Evertek', 'Everpad E8050HG', TYPE_TABLET ), + 'E8051HD' => array( 'Evertek', 'Everpad E8051HD', TYPE_TABLET ), 'P10AN' => array( 'Exper', 'Easypad P10AN', TYPE_TABLET ), 'Explay A320' => array( 'Explay', 'A320' ), 'Explay Advance' => array( 'Explay', 'Advance' ), @@ -2578,6 +2724,10 @@ 'Gemei G9' => array( 'Gemei', 'G9', TYPE_TABLET ), 'gemei G9T' => array( 'Gemei', 'G9T', TYPE_TABLET ), 'GEM7008' => array( 'Gemini', 'JoyTab GEM7008', TYPE_TABLET ), + 'GEM7020' => array( 'Gemini', 'JoyTab GEM7020', TYPE_TABLET ), + 'GEM7032G-rev2' => array( 'Gemini', 'JoyTab GEM7032', TYPE_TABLET ), + 'GEM10313BK' => array( 'Gemini', 'JoyTab GEM10313', TYPE_TABLET ), + 'GEM10313S' => array( 'Gemini', 'JoyTab GEM10313', TYPE_TABLET ), 'GP-431' => array( 'Genesis', 'GP-431' ), 'GT-7200' => array( 'Genesis', 'Tab GT-7200', TYPE_TABLET ), 'GT-7204' => array( 'Genesis', 'Tab GT-7204', TYPE_TABLET ), @@ -2637,11 +2787,12 @@ 'GSmart Sierra S1' => array( 'Gigabyte', 'GSmart Sierra S1' ), 'GSmart T4' => array( 'Gigabyte', 'GSmart T4' ), 'Gigabyte TB100' => array( 'Gigabyte', 'TB100', TYPE_TABLET ), - 'Gigaset QV830' => array( 'Gigaset', 'QV830', TYPE_DECT ), - 'Gigaset QV1030' => array( 'Gigaset', 'QV1030', TYPE_DECT ), + 'Gigaset QV830' => array( 'Gigaset', 'QV830', TYPE_TABLET ), + 'Gigaset QV1030' => array( 'Gigaset', 'QV1030', TYPE_TABLET ), '(GIO-)?(GiONEE[- ])?A9$!' => array( 'Gionee', 'A9' ), '(GIO-)?(GiONEE[- ])?C500!' => array( 'Gionee', 'C500' ), '(GIO-)?(GiONEE[- ])?C600!' => array( 'Gionee', 'C600' ), + '(GIO-)?(GiONEE[- ])?C610!' => array( 'Gionee', 'C610' ), '(GIO-)?(GiONEE[- ])?C620!' => array( 'Gionee', 'C620' ), '(GIO-)?(GiONEE[- ])?C700!' => array( 'Gionee', 'C700' ), '(GIO-)?(GiONEE[- ])?C800!' => array( 'Gionee', 'C800' ), @@ -2699,6 +2850,7 @@ '(GIO-)?(GiONEE[- ])?GN9005!' => array( 'Gionee', 'GN9005' ), '(GIO-)?(GiONEE[- ])?S101!' => array( 'Gionee', 'S101' ), '(GIO-)?(GiONEE[- ])?V182!' => array( 'Gionee', 'V182' ), + '(GIO-)?(GiONEE[- ])?V185!' => array( 'Gionee', 'V185' ), '(GIO-)?(GiONEE[- ])?V188!' => array( 'Gionee', 'V188' ), '(GIO-)?(GiONEE[- ])?W800!' => array( 'Gionee', 'W800' ), '(GIO-)?(GiONEE[- ])?X817!' => array( 'Gionee', 'X817' ), @@ -2762,6 +2914,7 @@ 'GO NX' => array( 'GreenOrange', 'NX' ), 'GO S2' => array( 'GreenOrange', 'S2' ), 'GR-TB7' => array( 'Grundig', 'Style Tab GR-TB7', TYPE_TABLET ), + 'GR-TB10S' => array( 'Grundig', 'Style Tab GR-TB10S', TYPE_TABLET ), 'GVON 898' => array( 'Gvon', 'Aero 898' ), '(Haier[- ])?HE-E80!' => array( 'Haier', 'E80' ), '(Haier[- ])?HE-E617!' => array( 'Haier', 'E617' ), @@ -2781,10 +2934,12 @@ '(Haier[- ])?(HW-)?N88W!' => array( 'Haier', 'N88W' ), '(Haier[- ])?HW-N620E!' => array( 'Haier', 'N620E' ), '(Haier[- ])?HW-N800!' => array( 'Haier', 'N800' ), + 'Haier-SY0880' => array( 'Haier', 'SY0880' ), '(Haier[- ])?(HW-)?W716!' => array( 'Haier', 'W716' ), '(Haier[- ])?(HW-)?W718!' => array( 'Haier', 'W718' ), 'HW-W820' => array( 'Haier', 'W820' ), 'HW-W850' => array( 'Haier', 'W850' ), + '(Haier[- ])?HW-W860!' => array( 'Haier', 'W860' ), '(Haier[- ])?HW-W910!' => array( 'Haier', 'W910' ), 'Zio P2' => array( 'Haier', 'Zio P2' ), 'PAD511' => array( 'Haier', 'Pad 511', TYPE_TABLET ), @@ -2909,7 +3064,9 @@ 'HLV-T704' => array( 'Hi-Level', 'HLV-T704', TYPE_TABLET ), 'HLV-T707' => array( 'Hi-Level', 'HLV-T707', TYPE_TABLET ), 'HLV-T1001W' => array( 'Hi-Level', 'HLV-T1001W', TYPE_TABLET ), + 'HLV-T1002W' => array( 'Hi-Level', 'HLV-T1002W', TYPE_TABLET ), 'HLV-T9701' => array( 'Hi-Level', 'HLV-T9701', TYPE_TABLET ), + 'HLV-TN75' => array( 'Hi-Level', 'HLV-TN75', TYPE_TABLET ), 'HIKe 716' => array( 'HIKe', 'Q1' ), 'HIKe 818' => array( 'HIKe', 'Pandora 2' ), 'HIKe 828' => array( 'HIKe', 'X1' ), @@ -2952,6 +3109,7 @@ 'HS-U909' => array( 'Hisense', 'U909' ), 'HS-U909B' => array( 'Hisense', 'U909B' ), 'HS-U912' => array( 'Hisense', 'U912' ), + 'HS-U912C' => array( 'Hisense', 'U912C' ), 'HS-U936' => array( 'Hisense', 'U936' ), 'HS-U939' => array( 'Hisense', 'U939' ), 'HS-U950' => array( 'Hisense', 'U950' ), @@ -3010,7 +3168,6 @@ 'HS-E910' => array( 'Hisense', 'E910' ), 'Hisense HS-E910' => array( 'Hisense', 'E910' ), 'HS-E912!' => array( 'Hisense', 'E912' ), - 'E912' => array( 'Hisense', 'E912' ), 'HS-E913' => array( 'Hisense', 'E913' ), 'HS-E917' => array( 'Hisense', 'E917' ), 'HS-E920' => array( 'Hisense', 'E920' ), @@ -3049,6 +3206,7 @@ 'E270BSA' => array( 'Hisense', 'Sero 7 Lite', TYPE_TABLET ), 'M470BSA' => array( 'Hisense', 'Sero 7 Pro', TYPE_TABLET ), 'M470BSE' => array( 'Hisense', 'Sero 7 Pro', TYPE_TABLET ), + 'E2281' => array( 'Hisense', 'Sero 8', TYPE_TABLET ), 'xt880b' => array( 'Hisense', 'XT880', TYPE_TELEVISION ), 'GX1210V TV' => array( 'Hisense', 'GX1210', TYPE_TELEVISION ), 'LED39K600X3D' => array( 'Hisense', 'LED39K600X3D', TYPE_TELEVISION ), @@ -3161,6 +3319,7 @@ 'HTC Desire 601 dual sim' => array( 'HTC', 'Desire 601' ), 'HTC ?0P4E!' => array( 'HTC', 'Desire 601' ), 'HTC 606w' => array( 'HTC', 'Desire 606w' ), + 'HTC 608' => array( 'HTC', 'Desire 608' ), 'HTC 608t' => array( 'HTC', 'Desire 608t' ), 'HTC 609d' => array( 'HTC', 'Desire 609d' ), 'HTC Desire 610' => array( 'HTC', 'Desire 610' ), @@ -3222,6 +3381,7 @@ 'HTC DesireU' => array( 'HTC', 'Desire U' ), 'HTC Desire U' => array( 'HTC', 'Desire U' ), 'HTC Desire U dual sim' => array( 'HTC', 'Desire U' ), + 'HTC T327w' => array( 'HTC', 'Desire U' ), 'HTC Desire V' => array( 'HTC', 'Desire V' ), 'HTC T328w' => array( 'HTC', 'Desire V' ), 'HTC Desire VC' => array( 'HTC', 'Desire VC' ), @@ -3596,7 +3756,7 @@ 'ADR6330VW' => array( 'HTC', 'Rhyme' ), 'ADR6350' => array( 'HTC', 'Droid Incredible 2' ), 'ADR6400L!' => array( 'HTC', 'Thunderbolt 4G' ), - 'ADR6410LRA!' => array( 'HTC', 'Desire 4G' ), + 'ADR6410LRA!' => array( 'HTC', 'Droid Incredible 4G' ), 'ADR6410LVW!' => array( 'HTC', 'Fireball' ), 'ADR6425LVW!' => array( 'HTC', 'Rezound' ), 'ATP515CKIT' => array( 'HTC', 'EVO View 4G' ), @@ -3704,6 +3864,7 @@ 'Huawei MT1-(T00|U06)!' => array( 'Huawei', 'Ascend Mate' ), 'HUAWEI MATE-U06' => array( 'Huawei', 'Ascend Mate' ), 'Huawei MT2-(C00|L01|L02|L05)!' => array( 'Huawei', 'Ascend Mate 2' ), + 'HUAWEI MT2L03' => array( 'Huawei', 'Ascend Mate 2' ), 'MT2L03' => array( 'Huawei', 'Ascend Mate 2' ), 'HUAWEI MT7-(L09|CL00|TL00|TL10|UL00)!' => array( 'Huawei', 'Ascend Mate 7' ), 'Z100-(L09|TL00)!' => array( 'Huawei', 'Ascend Mate 7' ), @@ -3738,6 +3899,7 @@ 'Huawei U8800!' => array( 'Huawei', 'IDEOS X5' ), 'Huawei U8815!' => array( 'Huawei', 'Ascend G300' ), 'U8815N' => array( 'Huawei', 'Ascend G300' ), + 'U8815-51' => array( 'Huawei', 'Ascend G300' ), 'Huawei U8818' => array( 'Huawei', 'Ascend G300' ), 'U8816' => array( 'Huawei', 'Ascend G301' ), 'U8812' => array( 'Huawei', 'Ascend G302D' ), @@ -3767,12 +3929,15 @@ 'Honor3c2G-T' => array( 'Huawei', 'Honor 3C' ), 'HUAWEI Honor 3c w' => array( 'Huawei', 'Honor 3C' ), 'CHM-(CL00|TL00H|TL00|U01|UL00)!' => array( 'Huawei', 'Honor Play 4C' ), + 'SCL-(AL00|CL00|TL00H)!' => array( 'Huawei', 'Honor 4A' ), 'CHE-(TL00|TL00H)!' => array( 'Huawei', 'Honor 4X' ), 'HW-Che1-CL10' => array( 'Huawei', 'Honor 4X' ), 'Che1-(L04|CL10|CL20)!' => array( 'Huawei', 'Honor 4X' ), 'Che2-(L11|L12|L23|TL00|UL00)!' => array( 'Huawei', 'Honor 4X' ), 'H60-(J1|L01|L02|L03|L04|L11|L12|L21)!' => array( 'Huawei', 'Honor 6' ), 'PE-(CL00|TL00|TL10|TL20|UL00)!' => array( 'Huawei', 'Honor 6 Plus' ), + 'PLK-(AL10|UL00|TL00|TL01H)!' => array( 'Huawei', 'Honor 7' ), + 'HW-PLK-CL00' => array( 'Huawei', 'Honor 7' ), 'CHC-U01' => array( 'Huawei', 'G Play Mini' ), 'Ascend D1' => array( 'Huawei', 'Ascend D1' ), 'Huawei U9510!' => array( 'Huawei', 'Ascend D quad' ), @@ -4011,6 +4176,16 @@ 'HYUNDAI X7' => array( 'Hyundai', 'X7' ), 'HYUNDAI X900' => array( 'Hyundai', 'X900', TYPE_TABLET ), 'MW1031' => array( 'Hyundai', 'MW1031', TYPE_TABLET ), + 'Elektra L' => array( 'i-Joy', 'Elektra L' ), + 'Elektra XL' => array( 'i-Joy', 'Elektra XL' ), + 'i-Joy i-Call' => array( 'i-Joy', 'i-Call' ), + 'i-Call 300' => array( 'i-Joy', 'i-Call 300' ), + 'i-Call 300v2' => array( 'i-Joy', 'i-Call 300' ), + 'i-Call 504' => array( 'i-Joy', 'i-Call 504' ), + 'DEOX' => array( 'i-Joy', 'Deox', TYPE_TABLET ), + 'Neon7' => array( 'i-Joy', 'Neon7', TYPE_TABLET ), + 'Neon9' => array( 'i-Joy', 'Neon9', TYPE_TABLET ), + 'Sygnus' => array( 'i-Joy', 'Sygnus', TYPE_TABLET ), 'Andi3n' => array( 'iBall', 'Andi 3n' ), 'iBall Andi3e' => array( 'iBall', 'Andi 3e' ), 'Andi 3.5i' => array( 'iBall', 'Andi 3.5i' ), @@ -4063,6 +4238,7 @@ 'iBall Slide 3G Q1035' => array( 'iBall', 'Slide 3G Q1035', TYPE_TABLET ), 'Aura A1' => array( 'iBerry', 'Auxus Aura A1', TYPE_TABLET ), 'AUXUS AX01' => array( 'iBerry', 'Auxus AX01', TYPE_TABLET ), + 'iberry AUXUS AX02' => array( 'iBerry', 'Auxus AX02', TYPE_TABLET ), 'AUXUS CoreX2 3G' => array( 'iBerry', 'Auxus CoreX2', TYPE_TABLET ), 'AUXUS CoreX4 3G' => array( 'iBerry', 'Auxus CoreX4', TYPE_TABLET ), 'AUXUS Nuclea N1' => array( 'iBerry', 'Auxus Nuclea N1' ), @@ -4165,7 +4341,9 @@ 'i6000' => array( 'iNew', 'i6000' ), 'Infinix BUZZ' => array( 'Infinix', 'Buzz X260' ), 'Infinix X351' => array( 'Infinix', 'Surf Smart X351' ), + 'Infinix X352' => array( 'Infinix', 'Surf Smart 2 X352' ), 'Infinix X400' => array( 'Infinix', 'Race X400' ), + 'Infinix X401' => array( 'Infinix', 'Race Lite X401' ), 'Infinix X402' => array( 'Infinix', 'Diamond X402' ), 'Infinix X450' => array( 'Infinix', 'Race Bolt X450' ), 'Infinix X451' => array( 'Infinix', 'Race Bolt Q X451' ), @@ -4200,6 +4378,7 @@ 'M009F' => array( 'Infotmic', 'M009F' ), 'Dk1031' => array( 'Infotmic', 'Flytouch 3', TYPE_TABLET ), 'INHON PAPILIO G1' => array( 'Inhon', 'Papilio G1' ), + 'intki E86' => array( 'intki', 'E86' ), 'Innos D5C' => array( 'Innos', 'D5C' ), 'innos D9' => array( 'Innos', 'D9' ), 'innos D9C' => array( 'Innos', 'D9C' ), @@ -4243,6 +4422,7 @@ 'Aqua Star 5.0' => array( 'Intex', 'Aqua Star 5.0' ), 'Aqua Star HD' => array( 'Intex', 'Aqua Star HD' ), 'Aqua Star Power' => array( 'Intex', 'Aqua Star Power' ), + 'Aqua Style' => array( 'Intex', 'Aqua Style' ), 'Aqua Style 4.0' => array( 'Intex', 'Aqua Style 4.0' ), 'Aqua Style Pro' => array( 'Intex', 'Aqua Style Pro' ), 'Intex Aqua Superb' => array( 'Intex', 'Aqua Superb' ), @@ -4253,6 +4433,7 @@ 'Aqua Xtreme' => array( 'Intex', 'Aqua Xtreme' ), 'Aqua i2' => array( 'Intex', 'Aqua i2' ), 'Intex Aqua I3' => array( 'Intex', 'Aqua i3' ), + 'Aqua i-4+' => array( 'Intex', 'Aqua i4' ), 'Aqua I-5' => array( 'Intex', 'Aqua i5' ), 'Aqua I5' => array( 'Intex', 'Aqua i5' ), 'Aqua i5 HD' => array( 'Intex', 'Aqua i5 HD' ), @@ -4296,6 +4477,12 @@ 'NS-13T001' => array( 'Insignia', 'Flex Tablet', TYPE_TABLET ), 'IPRO i5S' => array( 'IPRO', 'i5S' ), 'ILT-MX100' => array( 'iRiver', 'Tab', TYPE_TABLET ), + 'iNote beyond' => array( 'iTel', 'iNote beyond' ), + 'iNote mini' => array( 'iTel', 'iNote mini' ), + 'itel IT1351' => array( 'iTel', 'IT1351' ), + 'itel IT1351E' => array( 'iTel', 'IT1351E' ), + 'itel it1400' => array( 'iTel', 'IT1400' ), + 'itel it1500' => array( 'iTel', 'IT1500' ), 'IVIO DE38' => array( 'Ivio', 'DE38' ), 'iwoo i900' => array( 'iwoo', 'i900' ), 'JIAYU F1' => array( 'Jiayu', 'F1' ), @@ -4393,6 +4580,7 @@ 'KarbonnA26' => array( 'Karbonn', 'A26' ), 'Karbonn A27+' => array( 'Karbonn', 'A27' ), 'Karbonn A30' => array( 'Karbonn', 'A30' ), + 'Karbonn A35' => array( 'Karbonn', 'A35' ), 'Karbonn A40' => array( 'Karbonn', 'A40' ), 'Karbonn A50' => array( 'Karbonn', 'A50' ), 'Karbonn A51 Lite' => array( 'Karbonn', 'A51 Lite' ), @@ -4442,8 +4630,12 @@ 'Karbonn ST72' => array( 'Karbonn', 'ST72', TYPE_TABLET ), 'KAZAM Thunder Q45' => array( 'KAZAM', 'Thunder Q4.5' ), 'KAZAM Trooper 450' => array( 'KAZAM', 'Trooper 450' ), + 'Trooper X35' => array( 'KAZAM', 'Trooper X3.5' ), + 'Trooper X40' => array( 'KAZAM', 'Trooper X4.0' ), 'KAZAM Trooper X45' => array( 'KAZAM', 'Trooper X4.5' ), 'KAZAM Trooper X50' => array( 'KAZAM', 'Trooper X5.0' ), + 'Trooper X55' => array( 'KAZAM', 'Trooper X5.5' ), + 'KAZAM Trooper2 50' => array( 'KAZAM', 'Trooper 2 5.0' ), 'KENEKSI FIRE' => array( 'KENEKSI', 'Fire' ), 'KENEKSI-Fire' => array( 'KENEKSI', 'Fire' ), 'KENEKSI-Norma' => array( 'KENEKSI', 'Norma' ), @@ -4460,6 +4652,9 @@ 'Agora 4G' => array( 'Kogan', 'Agora 4G' ), 'Agora HD+' => array( 'Kogan', 'Agora HD+' ), 'Agora Quad Core' => array( 'Kogan', 'Agora Quad Core' ), + 'Komu Color' => array( 'Komu', 'Color' ), + 'KOMU ENERGY' => array( 'Komu', 'Energy' ), + 'KOMU-MINI' => array( 'Komu', 'Mini' ), 'K3' => array( 'Konka', 'K3' ), 'KONKA V615' => array( 'Konka', 'V615' ), 'KONKA-V915' => array( 'Konka', 'V915' ), @@ -4575,6 +4770,7 @@ 'K-Touch S5 Beiaigeqian' => array( 'K-Touch', 'S5' ), 'K-Touch S5t' => array( 'K-Touch', 'S5t' ), 'K-Touch Titan S100' => array( 'K-Touch', 'Titan S100' ), + 'K-Touch S757!' => array( 'K-Touch', 'S757' ), 'K-Touch S787' => array( 'K-Touch', 'S787' ), 'K-Touch T6' => array( 'K-Touch', 'T6' ), 'K-Touch T60' => array( 'K-Touch', 'T60' ), @@ -4677,6 +4873,7 @@ 'Lark Evolution X2 7 3G-GPS' => array( 'Lark', 'Evolution X2 7', TYPE_TABLET ), 'Lark FreeMe X2 7' => array( 'Lark', 'FreeMe X2 7', TYPE_TABLET ), 'Lark FreeMe X2 7 ver.2' => array( 'Lark', 'FreeMe X2 7', TYPE_TABLET ), + 'Iris78W' => array( 'Lava', 'Iris 78w' ), 'iris 250' => array( 'Lava', 'Iris 250' ), 'iris310s' => array( 'Lava', 'Iris 310s' ), 'Iris 349' => array( 'Lava', 'Iris 349' ), @@ -4771,6 +4968,7 @@ 'Q1000 Opus' => array( 'Lava', 'XOLO Q1000 Opus' ), 'XOLO Q1000 Opus2!' => array( 'Lava', 'XOLO Q1000 Opus 2' ), 'Q1000S' => array( 'Lava', 'XOLO Q1000s' ), + 'Q1000s Plus' => array( 'Lava', 'XOLO Q1000s Plus' ), 'Q1010' => array( 'Lava', 'XOLO Q1010' ), 'Q1010i' => array( 'Lava', 'XOLO Q1010i' ), 'Q1011' => array( 'Lava', 'XOLO Q1011' ), @@ -4789,6 +4987,7 @@ 'BLACK' => array( 'Lava', 'XOLO Black' ), '8x-1000' => array( 'Lava', 'XOLO Hive 8x-1000' ), 'Omega 5.0' => array( 'Lava', 'XOLO Omega 5.0' ), + 'Omega 5.5' => array( 'Lava', 'XOLO Omega 5.5' ), 'XOLO One' => array( 'Lava', 'XOLO One' ), 'XOLO Play' => array( 'Lava', 'XOLO Play' ), 'XOLO T1000' => array( 'Lava', 'XOLO Play' ), @@ -4803,19 +5002,28 @@ 'P5' => array( 'Lemon', 'P5' ), 'P105' => array( 'Lemon', 'P105' ), 'Lenco CARTAB-920' => array( 'Lenco', 'CarTab 920', TYPE_TABLET ), + 'Lenco CARTAB-925' => array( 'Lenco', 'CarTab 925', TYPE_TABLET ), 'Lenco CoolTab-70' => array( 'Lenco', 'CoolTab 70', TYPE_TABLET ), 'Lenco CoolTAB-72' => array( 'Lenco', 'CoolTab 72', TYPE_TABLET ), + 'Lenco CoolTab-80' => array( 'Lenco', 'CoolTab 80', TYPE_TABLET ), + 'Lenco KidzTab-70' => array( 'Lenco', 'KidzTab 70', TYPE_TABLET ), 'Lenco KidzTab-520' => array( 'Lenco', 'KidzTab 520', TYPE_TABLET ), + 'Lenco TAB-704' => array( 'Lenco', 'TAB 704', TYPE_TABLET ), 'Lenco TAB-712' => array( 'Lenco', 'TAB 712', TYPE_TABLET ), 'LENCM900HZ' => array( 'Lenco', 'TAB 811', TYPE_TABLET ), + 'Lenco TAB-813' => array( 'Lenco', 'TAB 813', TYPE_TABLET ), + 'Lenco TAB-900' => array( 'Lenco', 'TAB 900', TYPE_TABLET ), + 'Lenco TAB-925' => array( 'Lenco', 'TAB 925', TYPE_TABLET ), 'TAB1011' => array( 'Lenco', 'TAB 1011', TYPE_TABLET ), 'Lenco TAB-1014' => array( 'Lenco', 'TAB 1014', TYPE_TABLET ), 'Lenco TAB-1020' => array( 'Lenco', 'TAB 1020', TYPE_TABLET ), 'Lenco TAB-1022' => array( 'Lenco', 'TAB 1022', TYPE_TABLET ), + 'Lenco TAB-1030' => array( 'Lenco', 'TAB 1030', TYPE_TABLET ), 'Lenco TAB-9720' => array( 'Lenco', 'TAB 9720', TYPE_TABLET ), 'ThinkPad( Tablet)?!' => array( 'Lenovo', 'ThinkPad Tablet', TYPE_TABLET ), 'IdeaPad A1' => array( 'Lenovo', 'IdeaPad A1', TYPE_TABLET ), 'Lenovo A1-32AB0' => array( 'Lenovo', 'IdeaPad A1', TYPE_TABLET ), + 'IdeaPadA10' => array( 'Lenovo', 'IdeaPad A10', TYPE_TABLET ), 'K1' => array( 'Lenovo', 'IdeaPad K1', TYPE_TABLET ), 'Ideapad K1!' => array( 'Lenovo', 'IdeaPad K1', TYPE_TABLET ), 'Ideapad S10-3T' => array( 'Lenovo', 'IdeaPad S10-3T', TYPE_TABLET ), @@ -5081,7 +5289,29 @@ 'lephone T708' => array( 'Lephone', 'T708' ), 'Lephone TD506' => array( 'Lephone', 'TD506' ), 'TD506' => array( 'Lephone', 'TD506' ), - 'Le Pan TC802A' => array( 'Le Pan', 'TC802', TYPE_TABLET ), + 'MFC190BBFR' => array( 'Lexibook', 'Barbie Tablet', TYPE_TABLET ), + 'MFC195FUFR' => array( 'Lexibook', 'Furby Tablet', TYPE_TABLET ), + 'MFC140FR1' => array( 'Lexibook', 'LapTab', TYPE_TABLET ), + 'MFC141FR' => array( 'Lexibook', 'LapTab 2', TYPE_TABLET ), + 'MFC162FR' => array( 'Lexibook', 'Power Tablet', TYPE_TABLET ), + 'MFC180FR' => array( 'Lexibook', 'Tablet Advanced', TYPE_TABLET ), + 'MFC181FR' => array( 'Lexibook', 'Tablet Advanced 2', TYPE_TABLET ), + 'MFC195DCFR' => array( 'Lexibook', 'Tablet Disney Cars HD', TYPE_TABLET ), + 'MFC195DPFR' => array( 'Lexibook', 'Tablet Disney Princesse HD', TYPE_TABLET ), + 'MFC250FR' => array( 'Lexibook', 'Tablet Junior', TYPE_TABLET ), + 'MFC280FR' => array( 'Lexibook', 'Tablet Junior 2', TYPE_TABLET ), + 'MFC270FR' => array( 'Lexibook', 'Tablet Junior Power Touch', TYPE_TABLET ), + 'mfc142fr' => array( 'Lexibook', 'Tablet Kids', TYPE_TABLET ), + 'MFC155FR' => array( 'Lexibook', 'Tablet Master', TYPE_TABLET ), + 'MFC157FR' => array( 'Lexibook', 'Tablet Master 2', TYPE_TABLET ), + 'MFC163FR' => array( 'Lexibook', 'Tablet Master 3', TYPE_TABLET ), + 'MFC156FR' => array( 'Lexibook', 'Tablet One', TYPE_TABLET ), + 'MFC170FR' => array( 'Lexibook', 'Tablet Ultra', TYPE_TABLET ), + 'MFC175FR' => array( 'Lexibook', 'Tablet Ultra', TYPE_TABLET ), + 'MFC375FR' => array( 'Lexibook', 'Tablet Ultra 2', TYPE_TABLET ), + 'mfc500fr' => array( 'Lexibook', 'Tablet XL', TYPE_TABLET ), + 'MFC045FR' => array( 'Lexibook', 'TabTab', TYPE_TABLET ), + 'Le Pan TC802A' => array( 'Le Pan', 'Mini', TYPE_TABLET ), 'TC970' => array( 'Le Pan', 'TC970', TYPE_TABLET ), 'TC970 (Wi-Fi)' => array( 'Le Pan', 'TC970', TYPE_TABLET ), 'Le Pan TC1010' => array( 'Le Pan', 'TC1010', TYPE_TABLET ), @@ -5481,6 +5711,7 @@ 'LG-Swift L9' => array( 'LG', 'Optimus L9' ), 'LG-OPTIMUS HD LTE' => array( 'LG', 'Optimus HD' ), 'LG-OPTIMUS LTE HD' => array( 'LG', 'Optimus HD' ), + 'LG Optimus Pad L-06C' => array( 'LG', 'Optimus Pad', TYPE_TABLET ), 'Ally' => array( 'LG', 'Ally' ), 'Optimus' => array( 'LG', 'Optimus' ), 'OptimusBlack' => array( 'LG', 'Optimus Black' ), @@ -5514,6 +5745,12 @@ 'TI320-DU TV' => array( 'LG', 'U+ tv G', TYPE_TELEVISION, FLAG_GOOGLETV ), 'SFR-G8800' => array( 'LG', 'SFR-G8800', TYPE_TELEVISION, FLAG_GOOGLETV ), 'SFR-G8800 TV' => array( 'LG', 'SFR-G8800', TYPE_TELEVISION, FLAG_GOOGLETV ), + 'E731' => array( 'Logicom', 'E731', TYPE_TABLET ), + 'E812' => array( 'Logicom', 'E812', TYPE_TABLET ), + 'E912' => array( 'Logicom', 'E912', TYPE_TABLET ), + 'E1031' => array( 'Logicom', 'E1031', TYPE_TABLET ), + 'TAB950' => array( 'Logicom', 'TAB950', TYPE_TABLET ), + 'TAB1062' => array( 'Logicom', 'TAB1062', TYPE_TABLET ), 'aTab9.7 IPS' => array( 'M-Tech', 'aTab 9.7', TYPE_TABLET ), 'TAB192' => array( 'Majestic', 'TAB-192', TYPE_TABLET ), 'MALATA I5' => array( 'Malata', 'I5' ), @@ -5526,8 +5763,14 @@ 'T6' => array( 'Malata', 'Zpad T6', TYPE_TABLET ), 'Malata SMBA1002' => array( 'Malata', 'Tablet SMB-A1002', TYPE_TABLET ), 'Malata SMBA9701' => array( 'Malata', 'Tablet SMB-A9701', TYPE_TABLET ), - 'MID05V2' => array( 'Manta', 'Powertab MID05V2', TYPE_TABLET ), - 'MID801' => array( 'Manta', 'MID801 Duo Power HD', TYPE_TABLET ), + 'MID05V2' => array( 'Manta', 'Power Tab', TYPE_TABLET ), + 'MID701' => array( 'Manta', 'Power Tab Basic', TYPE_TABLET ), + 'MID704' => array( 'Manta', 'Power Tab 7', TYPE_TABLET ), + 'MID705' => array( 'Manta', 'Power Tab', TYPE_TABLET ), + 'MID706A' => array( 'Manta', 'Duo Power', TYPE_TABLET ), + 'MID801' => array( 'Manta', 'Duo Power HD', TYPE_TABLET ), + 'MID9701' => array( 'Manta', 'Duo Power 9.7', TYPE_TABLET ), + 'MID1001' => array( 'Manta', 'Power Tab 10.1 HD', TYPE_TABLET ), 'Masstel M11' => array( 'Masstel', 'M11' ), 'Masstel M15' => array( 'Masstel', 'M15' ), 'Masstel M25' => array( 'Masstel', 'M25' ), @@ -5544,14 +5787,27 @@ 'Maxtron Diamond' => array( 'Maxtron', 'Diamond' ), 'Maxtron Venus' => array( 'Maxtron', 'Venus' ), 'Maxtron T1' => array( 'Maxtron', 'T1', TYPE_TABLET ), + 'M-PPxG400' => array( 'Mediacom', 'PhonePad Duo G400' ), 'M-PPAG500' => array( 'Mediacom', 'PhonePad Duo G500' ), 'M-PPBG500' => array( 'Mediacom', 'PhonePad Duo G500' ), 'M-PPCG500' => array( 'Mediacom', 'PhonePad Duo G500' ), + 'M-PPxG501' => array( 'Mediacom', 'PhonePad Duo G501' ), 'M-PP2G530' => array( 'Mediacom', 'PhonePad Duo G530' ), + 'M-PPAG550' => array( 'Mediacom', 'PhonePad Duo G550' ), 'M-PPG700' => array( 'Mediacom', 'PhonePad Duo G700' ), 'M-PPG702' => array( 'Mediacom', 'PhonePad Duo G702' ), + 'M-PPxS470' => array( 'Mediacom', 'PhonePad Duo S470' ), 'M-PP2S500' => array( 'Mediacom', 'PhonePad Duo S500' ), 'M-PP2S500C' => array( 'Mediacom', 'PhonePad Duo S500' ), + 'M-PPxS501' => array( 'Mediacom', 'PhonePad Duo S501' ), + 'M-PPxS531' => array( 'Mediacom', 'PhonePad Duo S531' ), + 'M-PP2S550' => array( 'Mediacom', 'PhonePad Duo S550' ), + 'M-PPxS551U' => array( 'Mediacom', 'PhonePad Duo S551' ), + 'M-PP2S650' => array( 'Mediacom', 'PhonePad Duo S650' ), + 'M-PP2S650C' => array( 'Mediacom', 'PhonePad Duo S650' ), + 'M-PPAX470U' => array( 'Mediacom', 'PhonePad Duo X470' ), + 'M PPAX510U' => array( 'Mediacom', 'PhonePad Duo X510' ), + 'M-PPxX520U' => array( 'Mediacom', 'PhonePad Duo X520' ), 'M-MP5303G' => array( 'Mediacom', 'SmartPad Mini Mobile', TYPE_TABLET ), 'MP705C' => array( 'Mediacom', 'SmartPad 705c', TYPE_TABLET ), 'M-MP705I' => array( 'Mediacom', 'SmartPad 705i', TYPE_TABLET ), @@ -5582,6 +5838,7 @@ 'M-MP940M' => array( 'Mediacom', 'SmartPad 940', TYPE_TABLET ), 'SmartPad 95s23G' => array( 'Mediacom', 'SmartPad 950 S2', TYPE_TABLET ), 'SmartPad970s2' => array( 'Mediacom', 'SmartPad 970 S2', TYPE_TABLET ), + 'SmartPad970s23G' => array( 'Mediacom', 'SmartPad 970 S2', TYPE_TABLET ), 'SmartPad1010i' => array( 'Mediacom', 'SmartPad 1010i', TYPE_TABLET ), 'M-MP1010i' => array( 'Mediacom', 'SmartPad 1010i', TYPE_TABLET ), 'M-MP102S2B' => array( 'Mediacom', 'SmartPad 102 S2', TYPE_TABLET ), @@ -5593,24 +5850,44 @@ 'M-MP1040MC' => array( 'Mediacom', 'SmartPad 10.1 HD S4', TYPE_TABLET ), 'M-MP710GO' => array( 'Mediacom', 'SmartPad 7.0 Go', TYPE_TABLET ), 'M-MP720GO' => array( 'Mediacom', 'SmartPad 7.0 Go', TYPE_TABLET ), + 'M-MP726GOx' => array( 'Mediacom', 'SmartPad 7.0 Go', TYPE_TABLET ), + 'M-MP740GOx' => array( 'Mediacom', 'SmartPad 7.0 Go', TYPE_TABLET ), 'M-MP720M' => array( 'Mediacom', 'SmartPad 7.0 Mobile', TYPE_TABLET ), 'M-MP721M' => array( 'Mediacom', 'SmartPad 7.0 Mobile', TYPE_TABLET ), 'M-MP722M' => array( 'Mediacom', 'SmartPad 7.0 Mobile', TYPE_TABLET ), 'M-MP75S23G' => array( 'Mediacom', 'SmartPad 7.0 S2', TYPE_TABLET ), 'M-MP7S2A3G' => array( 'Mediacom', 'SmartPad 7.0 S2', TYPE_TABLET ), + 'M-MP7S2B3G' => array( 'Mediacom', 'SmartPad 7.0 S2', TYPE_TABLET ), + 'M-MP7S2D3G' => array( 'Mediacom', 'SmartPad 7.0 S2', TYPE_TABLET ), + 'M-MP7S2K3G' => array( 'Mediacom', 'SmartPad 7.0 S2', TYPE_TABLET ), 'M-MP7S4A3G' => array( 'Mediacom', 'SmartPad 7.0 S4', TYPE_TABLET ), 'M-MP840M' => array( 'Mediacom', 'SmartPad 8.0 Mobile', TYPE_TABLET ), 'M-MP842M' => array( 'Mediacom', 'SmartPad 8.0 Mobile', TYPE_TABLET ), 'SmartPad 85S23G' => array( 'Mediacom', 'SmartPad 8.0 S2', TYPE_TABLET ), 'M-MP876S2' => array( 'Mediacom', 'SmartPad 8.0 S2', TYPE_TABLET ), + 'M-MP8S23G' => array( 'Mediacom', 'SmartPad 8.0 S2', TYPE_TABLET ), 'M-MP8S2A3G' => array( 'Mediacom', 'SmartPad 8.0 S2', TYPE_TABLET ), + 'M-MP8S2B3G' => array( 'Mediacom', 'SmartPad 8.0 S2', TYPE_TABLET ), 'M-MP82S4' => array( 'Mediacom', 'SmartPad 8.0 S4', TYPE_TABLET ), 'M-MP84S4' => array( 'Mediacom', 'SmartPad 8.0 S4', TYPE_TABLET ), + 'M-MP8S4A3G' => array( 'Mediacom', 'SmartPad 8.0 S4', TYPE_TABLET ), + 'M-MP8S4B3G' => array( 'Mediacom', 'SmartPad 8.0 S4', TYPE_TABLET ), + 'M-MP8PA3G' => array( 'Mediacom', 'SmartPad 8.0 HD Pro', TYPE_TABLET ), + 'M-IPRO110B' => array( 'Mediacom', 'SmartPad 8.0 HD iPro110', TYPE_TABLET ), + 'M-IPRO800B' => array( 'Mediacom', 'SmartPad 8.0 HD iPro800', TYPE_TABLET ), + 'M-IPRO810B' => array( 'Mediacom', 'SmartPad 8.0 HD iPro810', TYPE_TABLET ), + 'M-IPRO810W' => array( 'Mediacom', 'SmartPad 8.0 HD iPro810', TYPE_TABLET ), 'M-MP9S4A3G' => array( 'Mediacom', 'SmartPad 9.7 S4', TYPE_TABLET ), 'M-MP980S4' => array( 'Mediacom', 'SmartPad 9.7 HD S4', TYPE_TABLET ), 'M-MP99S4' => array( 'Mediacom', 'SmartPad 9.7 HD S4', TYPE_TABLET ), 'M-MP101S2' => array( 'Mediacom', 'SmartPad 10.1 S2', TYPE_TABLET ), + 'M-MP1041S2' => array( 'Mediacom', 'SmartPad 10.1 S2', TYPE_TABLET ), + 'M-MP1051S2' => array( 'Mediacom', 'SmartPad 10.1 S2', TYPE_TABLET ), 'M-MP1S2A3G' => array( 'Mediacom', 'SmartPad 10.1 S2', TYPE_TABLET ), + 'M-MP1S4A3G' => array( 'Mediacom', 'SmartPad 10.1 S4', TYPE_TABLET ), + 'M-MP1S4B3G' => array( 'Mediacom', 'SmartPad 10.1 S4', TYPE_TABLET ), + 'M-MP10PA' => array( 'Mediacom', 'SmartPad 10.1 HD Pro', TYPE_TABLET ), + 'M-MP10PA3G' => array( 'Mediacom', 'SmartPad 10.1 HD Pro', TYPE_TABLET ), 'MT7000' => array( 'Mediadroid', 'MASTER-MID GPS', TYPE_TABLET ), 'MT7001' => array( 'Mediadroid', 'ENGAGE HQ PRO', TYPE_TELEVISION ), 'MT7002' => array( 'Mediadroid', 'ENGAGE HQ', TYPE_TELEVISION ), @@ -5666,6 +5943,8 @@ 'MEEG 201' => array( 'MEEG', '201' ), 'MEEG 210R' => array( 'MEEG', '210R' ), 'm1 note' => array( 'Meizu', 'M1 Note' ), + 'm2 note' => array( 'Meizu', 'M2 Note' ), + 'MZ-m2 note' => array( 'Meizu', 'M2 Note' ), 'M8' => array( 'Meizu', 'M8' ), 'M9' => array( 'Meizu', 'M9' ), 'M9-unlocked' => array( 'Meizu', 'M9' ), @@ -5674,6 +5953,7 @@ 'M030' => array( 'Meizu', 'MX M030' ), 'M031' => array( 'Meizu', 'MX M031' ), 'M032' => array( 'Meizu', 'MX M032' ), + 'MX2' => array( 'Meizu', 'MX2' ), 'M040' => array( 'Meizu', 'MX2 M040' ), 'M045' => array( 'Meizu', 'MX2 M045' ), 'M351' => array( 'Meizu', 'MX3 M351' ), @@ -5689,7 +5969,17 @@ 'MEO Smart A68' => array( 'MEO', 'Smart A68' ), 'meo smart a70' => array( 'MEO', 'Smart A70' ), 'MEO Smart A80' => array( 'MEO', 'Smart A80' ), + 'MEU AN400' => array( 'MEU', 'AN400' ), + 'MEU AN500' => array( 'MEU', 'AN500' ), 'Slidepad' => array( 'Memup', 'Slidepad', TYPE_TABLET ), + 'SlidePad 104' => array( 'Memup', 'Slidepad 104', TYPE_TABLET ), + 'SlidePad 108' => array( 'Memup', 'Slidepad 108', TYPE_TABLET ), + 'SlidePad704CE' => array( 'Memup', 'Slidepad 704CE', TYPE_TABLET ), + 'SlidePad 816P' => array( 'Memup', 'Slidepad 816P', TYPE_TABLET ), + 'SlidePad Elite 9708' => array( 'Memup', 'Slidepad Elite 9708', TYPE_TABLET ), + 'SlidePad Kids' => array( 'Memup', 'Slidepad Kids', TYPE_TABLET ), + 'SlidePad NG 116DC' => array( 'Memup', 'Slidepad NG 116DC', TYPE_TABLET ), + 'SlidePad NG 704DC' => array( 'Memup', 'Slidepad NG 704DC', TYPE_TABLET ), 'Mi-A402' => array( 'Mi-fone', 'FAB 4.0' ), 'Micromax A24' => array( 'Micromax', 'A24 Bolt' ), 'Micromax A25' => array( 'Micromax', 'A25 Smarty' ), @@ -5830,6 +6120,13 @@ 'Micromax Q380' => array( 'Micromax', 'Q380 Canvas Spark' ), 'Micromax Q400' => array( 'Micromax', 'Q400' ), 'Micromax S300' => array( 'Micromax', 'S300 Bolt' ), + 'MLLED M1B' => array( 'MLLED', 'M1B' ), + 'MLLED M2+' => array( 'MLLED', 'M2+' ), + 'MLLED M3 MINI' => array( 'MLLED', 'M3 MINI' ), + 'MLLED M7S' => array( 'MLLED', 'M7S' ), + 'MLLED M8' => array( 'MLLED', 'M8' ), + 'MLLED M8S' => array( 'MLLED', 'M8S' ), + 'MLLED X3S' => array( 'MLLED', 'X3S' ), 'MioCARE A105' => array( 'Mitac', 'MioCARE A105' ), 'MioCare 6119' => array( 'Mitac', 'MioCARE 6119' ), 'MioPad 6' => array( 'Mitac', 'MioPad 6', TYPE_TABLET ), @@ -6015,7 +6312,7 @@ 'XT626' => array( 'Motorola', 'MOTO XT626' ), 'XT627' => array( 'Motorola', 'Kairos XT627' ), 'XT681' => array( 'Motorola', 'MOTO XT681' ), - 'XT682' => array( 'Motorola', 'Droid 3' ), + 'XT682' => array( 'Motorola', 'ATRIX TV' ), 'XT685' => array( 'Motorola', 'MOTO XT685' ), 'XT687' => array( 'Motorola', 'ATRIX TV' ), 'XT701' => array( 'Motorola', 'XT701' ), @@ -6036,12 +6333,12 @@ 'XT890' => array( 'Motorola', 'RAZR i' ), 'XT894!' => array( 'Motorola', 'Droid 4' ), 'XT897!' => array( 'Motorola', 'Photon Q' ), - 'XT9(01|10)!' => array( 'Motorola', 'RAZR' ), + 'XT901' => array( 'Motorola', 'Electrify M' ), 'XT905' => array( 'Motorola', 'RAZR M' ), 'XT907' => array( 'Motorola', 'Droid RAZR M' ), + 'XT910' => array( 'Motorola', 'RAZR' ), 'XT912!' => array( 'Motorola', 'Droid RAZR' ), - 'XT916' => array( 'Motorola', 'Droid RAZR Maxx' ), - 'XT9(14|15|18)!' => array( 'Motorola', 'Droid RAZR D1' ), + 'XT9(14|15|16|18)!' => array( 'Motorola', 'Droid RAZR D1' ), 'XT9(19|20)!' => array( 'Motorola', 'Droid RAZR D3' ), 'XT9(23|25|26)!' => array( 'Motorola', 'Droid RAZR HD' ), 'XT928' => array( 'Motorola', 'XT928' ), @@ -6131,6 +6428,36 @@ 'TC55CH' => array( 'Motorola', 'TC55 Touch Computer' ), 'TC70' => array( 'Motorola', 'TC70 Touch Computer' ), 'TC75' => array( 'Motorola', 'TC75 Touch Computer' ), + 'PH350' => array( 'Mpman', 'PH350' ), + 'PH520' => array( 'Mpman', 'PH520' ), + 'MID7C' => array( 'Mpman', 'MID7C', TYPE_TABLET ), + 'MID43C' => array( 'Mpman', 'MID43C', TYPE_TABLET ), + 'MID74C' => array( 'Mpman', 'MID74C', TYPE_TABLET ), + 'MID77C' => array( 'Mpman', 'MID77C', TYPE_TABLET ), + 'MID82C' => array( 'Mpman', 'MID82C', TYPE_TABLET ), + 'MID84C' => array( 'Mpman', 'MID84C', TYPE_TABLET ), + 'MID102C' => array( 'Mpman', 'MID102C', TYPE_TABLET ), + 'MID103C' => array( 'Mpman', 'MID103C', TYPE_TABLET ), + 'MID104C' => array( 'Mpman', 'MID104C', TYPE_TABLET ), + 'MID114C' => array( 'Mpman', 'MID114C', TYPE_TABLET ), + 'MP717' => array( 'Mpman', 'MP717', TYPE_TABLET ), + 'MP843' => array( 'Mpman', 'MP843', TYPE_TABLET ), + 'MP888' => array( 'Mpman', 'MP888', TYPE_TABLET ), + 'MP959' => array( 'Mpman', 'MP959', TYPE_TABLET ), + 'MP969' => array( 'Mpman', 'MP969', TYPE_TABLET ), + 'MP1010' => array( 'Mpman', 'MP1010', TYPE_TABLET ), + 'MP7007' => array( 'Mpman', 'MP7007', TYPE_TABLET ), + 'MPDC100 BT' => array( 'Mpman', 'MPDC100 BT', TYPE_TABLET ), + 'MPDC110 BT IPS' => array( 'Mpman', 'MPDC110 BT', TYPE_TABLET ), + 'MPDC112 BT IPS' => array( 'Mpman', 'MPDC112 BT', TYPE_TABLET ), + 'MPDC8 BT' => array( 'Mpman', 'MPDC8 BT', TYPE_TABLET ), + 'MPDC88 BT IPS' => array( 'Mpman', 'MPDC88 BT', TYPE_TABLET ), + 'MPDC903' => array( 'Mpman', 'MPDC903', TYPE_TABLET ), + 'MPQC704 HD' => array( 'Mpman', 'MPQC704 HD', TYPE_TABLET ), + 'MPQC784 IPS' => array( 'Mpman', 'MPQC784', TYPE_TABLET ), + 'MPQC804HD' => array( 'Mpman', 'MPQC804 HD', TYPE_TABLET ), + 'Primo76' => array( 'MSI', 'Primo 76', TYPE_TABLET ), + 'Primo 91' => array( 'MSI', 'Primo 91', TYPE_TABLET ), 'Enjoy 7 Plus' => array( 'MSI', 'WindPad Enjoy 7 Plus', TYPE_TABLET ), 'MTS-SP100' => array( 'MTS', 'Lifewire SP 100' ), 'MTS-SP101' => array( 'MTS', 'Mtag 3.1 SP 101' ), @@ -6193,10 +6520,17 @@ 'MyPhone Rio Junior TV' => array( 'MyPhone', 'Rio Junior TV' ), 'MyPhone UNO' => array( 'MyPhone', 'Uno' ), 'MyPhone Xperia Rain 3G' => array( 'MyPhone', 'Xperia Rain' ), + 'MyPad 2' => array( 'MyPhone', 'MyPad 2', TYPE_TABLET ), + 'MyPad 750HD' => array( 'MyPhone', 'MyPad 750 HD', TYPE_TABLET ), + 'MyPad 1000 HD' => array( 'MyPhone', 'MyPad 1000 HD', TYPE_TABLET ), 'MySAGA C1' => array( 'Mysaga', 'C1' ), 'MY SAGA C2' => array( 'Mysaga', 'C2' ), 'MY SAGA C3' => array( 'Mysaga', 'C3' ), 'MYSAGA M1' => array( 'Mysaga', 'M1' ), + 'M.T.T. SmartFun' => array( 'M.T.T.', 'Smart Fun' ), + 'M.T.T.SmartMax' => array( 'M.T.T.', 'Smart Max' ), + 'M.T.T. Smart Multimedia' => array( 'M.T.T.', 'Smart Multimedia' ), + 'M.T.T. Tablet' => array( 'M.T.T.', 'Tablet', TYPE_TABLET ), 'Newman K1' => array( 'Newman', 'K1' ), 'NewmanK1' => array( 'Newman', 'K1' ), 'Newman K2' => array( 'Newman', 'K2' ), @@ -6293,6 +6627,8 @@ 'Dynamic Jump' => array( 'NGM', 'Dynamic Jump' ), 'Dynamic Maxi' => array( 'NGM', 'Dynamic Maxi' ), 'Dynamic Milo' => array( 'NGM', 'Dynamic Milo' ), + 'Dynamic Racing 2' => array( 'NGM', 'Dynamic Racing 2' ), + 'NGM Dynamic Racing 3' => array( 'NGM', 'Dynamic Racing 3' ), 'Dynamic Raging Go' => array( 'NGM', 'Dynamic Racing Go' ), 'Dynamic Shake' => array( 'NGM', 'Dynamic Shake' ), 'NGM Dynamic Star' => array( 'NGM', 'Dynamic Star' ), @@ -6326,10 +6662,12 @@ 'NGM Legend' => array( 'NGM', 'WeMove Legend' ), 'NGM-Legend/Legend' => array( 'NGM', 'WeMove Legend' ), 'NGM Legend2' => array( 'NGM', 'WeMove Legend 2' ), + 'NGM LegendXL' => array( 'NGM', 'WeMove Legend XL' ), 'NGM Miracle' => array( 'NGM', 'WeMove Miracle' ), 'NGM P0laris' => array( 'NGM', 'WeMove Polaris' ), 'NGM Wilco' => array( 'NGM', 'WeMove Wilco' ), 'NGM WINN' => array( 'NGM', 'Winn' ), + 'COOLPIX S800c' => array( 'Nikon', 'Coolpix S800c', TYPE_CAMERA ), 'i5300' => array( 'Ninetology', 'Palette' ), 'i5350' => array( 'Ninetology', 'Pearl Mini' ), 'i8400' => array( 'Ninetology', 'U9 P1' ), @@ -6464,6 +6802,7 @@ 'N2T' => array( 'ONN', 'N2T', TYPE_TABLET ), 'Renesas!' => array( 'Opad', 'Renesas', TYPE_TABLET ), 'A31' => array( 'Oppo', 'A31' ), + 'OB-OPPO A31c' => array( 'Oppo', 'A31c' ), 'OPPO A800' => array( 'Oppo', 'A800' ), 'Find 5' => array( 'Oppo', 'Find 5' ), 'X903' => array( 'Oppo', 'Find Me X903' ), @@ -6531,6 +6870,8 @@ 'R833T' => array( 'Oppo', 'R833T' ), 'R850' => array( 'Oppo', 'R850' ), 'R883T' => array( 'Oppo', 'R883T' ), + 'R1001' => array( 'Oppo', 'Joy R1001' ), + 'R2010' => array( 'Oppo', 'R2010' ), 'R2017' => array( 'Oppo', 'R2017' ), 'R6007' => array( 'Oppo', 'R6007' ), 'R7005' => array( 'Oppo', 'R3 R7005' ), @@ -6543,8 +6884,10 @@ 'R8106' => array( 'Oppo', 'R5 R8106' ), 'R8107' => array( 'Oppo', 'R5 R8107' ), 'R8109' => array( 'Oppo', 'R8109' ), + 'R8111' => array( 'Oppo', 'Find Melody R8111' ), 'OPPOR8111' => array( 'Oppo', 'Find Melody R8111' ), 'R8113' => array( 'Oppo', 'Find Piano R8113' ), + 'R8200' => array( 'Oppo', 'R1c R8200' ), 'R8201' => array( 'Oppo', 'R1x R8201' ), 'R8205' => array( 'Oppo', 'R1c R8205' ), 'R8206' => array( 'Oppo', 'R1x R8206' ), @@ -6559,7 +6902,7 @@ 'U705T' => array( 'Oppo', 'Ulike 2 U705T' ), 'U705W' => array( 'Oppo', 'Ulike 2 U705W' ), 'U707' => array( 'Oppo', 'Find Way S U707' ), - 'U707T' => array( 'Oppo', 'U2S U707T' ), + 'U707T' => array( 'Oppo', 'Find Way S U707T' ), 'U7011' => array( 'Oppo', 'Find Gemini U7011' ), 'OPPOU7011' => array( 'Oppo', 'Find Gemini U7011' ), 'U7015' => array( 'Oppo', 'Find Way U7015' ), @@ -6594,11 +6937,13 @@ 'OV-BasicTab' => array( 'Overmax', 'BasicTab', TYPE_TABLET ), 'OV-DualDriveMax2' => array( 'Overmax', 'DualDrive Max II', TYPE_TABLET ), 'OV-Newbase2' => array( 'Overmax', 'NewBase 2', TYPE_TABLET ), + 'OV-Quattor10' => array( 'Overmax', 'Quatttor 10', TYPE_TABLET ), 'OV-Quattor 10+' => array( 'Overmax', 'Quatttor 10+', TYPE_TABLET ), 'OV-Solution 7II' => array( 'Overmax', 'Solution 7 II', TYPE_TABLET ), 'OV-Solution 10II' => array( 'Overmax', 'Solution 10 II', TYPE_TABLET ), 'OV-SteelCore7' => array( 'Overmax', 'SteelCore 7', TYPE_TABLET ), 'OV-STEELCORE 10+ (Z)' => array( 'Overmax', 'SteelCore 10+', TYPE_TABLET ), + 'OV-SteelCore10+II' => array( 'Overmax', 'SteelCore 10+ II', TYPE_TABLET ), 'OV-Steelcore10III' => array( 'Overmax', 'SteelCore 10 III', TYPE_TABLET ), 'OV-Steelcore 10III(Z)' => array( 'Overmax', 'SteelCore 10 III', TYPE_TABLET ), 'Overmax Vertis' => array( 'Overmax', 'Vertis 01' ), @@ -6607,6 +6952,10 @@ 'OV-Vertis-02' => array( 'Overmax', 'Vertis 02' ), 'Vertis Expi' => array( 'Overmax', 'Vertis Expi' ), 'Vertis Famy' => array( 'Overmax', 'Vertis Famy' ), + 'Oysters Pacific 800' => array( 'Oysters', 'Pacific 800' ), + 'Oysters T3 3G' => array( 'Oysters', 'T3' ), + 'Oysters T7X 3G' => array( 'Oysters', 'T7X' ), + 'OYSTERS T14N 3G' => array( 'Oysters', 'T14N' ), 'Liberty Tab G100' => array( 'Packard Bell', 'Liberty Tab G100', TYPE_TABLET ), 'G100W' => array( 'Packard Bell', 'Liberty Tab G100', TYPE_TABLET ), 'DMC-CM1' => array( 'Panasonic', 'Lumix DMC-CM1', TYPE_CAMERA ), @@ -6857,11 +7206,27 @@ 'MID1014' => array( 'Polaroid', 'Pearl 10.1', TYPE_TABLET ), 'MID1047' => array( 'Polaroid', 'Platinum 10.1', TYPE_TABLET ), 'MIDC407' => array( 'Polaroid', 'Rainbow 7', TYPE_TABLET ), + 'MID0714' => array( 'Polaroid', 'MID0714', TYPE_TABLET ), + 'MID0714PCE01' => array( 'Polaroid', 'MID0714', TYPE_TABLET ), + 'MID0714PGE02.133' => array( 'Polaroid', 'MID0714', TYPE_TABLET ), + 'MIDC010PR001' => array( 'Polaroid', 'MIDC010', TYPE_TABLET ), + 'MIDC110' => array( 'Polaroid', 'MIDC110', TYPE_TABLET ), + 'MIDC124' => array( 'Polaroid', 'MIDC124', TYPE_TABLET ), 'MIDC127' => array( 'Polaroid', 'MIDC127', TYPE_TABLET ), 'MIDC128' => array( 'Polaroid', 'MIDC128', TYPE_TABLET ), + 'MIDC408' => array( 'Polaroid', 'MIDC408', TYPE_TABLET ), + 'MIDC408PR002' => array( 'Polaroid', 'MIDC408', TYPE_TABLET ), + 'MIDC410PR' => array( 'Polaroid', 'MIDC410', TYPE_TABLET ), + 'MIDC430' => array( 'Polaroid', 'MIDC430', TYPE_TABLET ), 'MIDC497' => array( 'Polaroid', 'MIDC497', TYPE_TABLET ), + 'MIDC801' => array( 'Polaroid', 'MIDC801', TYPE_TABLET ), + 'MIDC802' => array( 'Polaroid', 'MIDC802', TYPE_TABLET ), 'MIDC901' => array( 'Polaroid', 'MIDC901', TYPE_TABLET ), + 'MIDC970' => array( 'Polaroid', 'MIDC970', TYPE_TABLET ), + 'MIDCD10' => array( 'Polaroid', 'MIDCD10', TYPE_TABLET ), + 'MIDCD97' => array( 'Polaroid', 'MIDCD97', TYPE_TABLET ), 'PMID70C' => array( 'Polaroid', 'PMID 70c', TYPE_TABLET ), + 'PMID71C' => array( 'Polaroid', 'PMID 71c', TYPE_TABLET ), 'PMID700' => array( 'Polaroid', 'PMID 700', TYPE_TABLET ), 'PMID700BF' => array( 'Polaroid', 'PMID 700bf', TYPE_TABLET ), 'PMID701C' => array( 'Polaroid', 'PMID 701c', TYPE_TABLET ), @@ -6886,6 +7251,14 @@ 'PMID4312' => array( 'Polaroid', 'PMID 4312', TYPE_TABLET ), 'Polaroid PSPT401' => array( 'Polaroid', 'Turbo 401' ), 'Polaroid PSPC505' => array( 'Polaroid', 'Cosmo 505' ), + 'PROV350' => array( 'Polaroid', 'PROV350' ), + 'PROV400' => array( 'Polaroid', 'PROV400' ), + 'PRO400B' => array( 'Polaroid', 'PRO400B' ), + 'PRO450B' => array( 'Polaroid', 'PRO450B' ), + 'PRO4006' => array( 'Polaroid', 'PRO4006' ), + 'PRO4611PR201' => array( 'Polaroid', 'PRO4611' ), + 'PRO5701' => array( 'Polaroid', 'PRO5701' ), + 'PRO7111' => array( 'Polaroid', 'PRO7111' ), 'POLY PAD 8208HD' => array( 'Polypad', '8208 HD', TYPE_TABLET ), 'POLY PAD 8216HD' => array( 'Polypad', '8216 HD', TYPE_TABLET ), 'POLY PAD 9708HD' => array( 'Polypad', '9708 HD', TYPE_TABLET ), @@ -6958,6 +7331,7 @@ 'PMP5785C3G QUAD' => array( 'Prestigio', 'Multipad 4 Quantum 7.85 3G', TYPE_TABLET ), 'PMP7100D3G QUAD' => array( 'Prestigio', 'Multipad 7100', TYPE_TABLET ), 'PMP7280D3G QUAD' => array( 'Prestigio', 'Multipad 7280', TYPE_TABLET ), + 'PMP7880D3G' => array( 'Prestigio', 'Multipad 7880', TYPE_TABLET ), 'PMP5780D' => array( 'Prestigio', 'Multipad 2 Prime Duo 8.0', TYPE_TABLET ), 'PMP5785C QUAD' => array( 'Prestigio', 'Multipad 4 Quantum 7.85', TYPE_TABLET ), 'PMP5870C' => array( 'Prestigio', 'Multipad 7.0 Ultra Duo', TYPE_TABLET ), @@ -7130,8 +7504,15 @@ 'Positivo X400' => array( 'Positivo', 'YPY X400' ), 'Positivo X800' => array( 'Positivo', 'YPY X800' ), 'YPY TQ7' => array( 'Positivo', 'YPY TQ7', TYPE_TABLET ), + 'PULID F6' => array( 'PULID', 'F6' ), + 'PULID F7' => array( 'PULID', 'F7' ), + 'PULID F11' => array( 'PULID', 'F11' ), + 'F13' => array( 'PULID', 'F13' ), + 'F15' => array( 'PULID', 'F15' ), + 'PULID T3' => array( 'PULID', 'T3' ), 'Qilive 40' => array( 'QiLive', '4” Smartphone' ), 'Qilive 45' => array( 'QiLive', '4.5” Smartphone' ), + 'Qilive 50' => array( 'QiLive', '5” Smartphone' ), 'Qilive 50 QC' => array( 'QiLive', '5” Smartphone' ), 'Qilive 53' => array( 'QiLive', '5.3” Smartphone' ), 'Qilive 7' => array( 'QiLive', '7” Dual core tablet', TYPE_TABLET ), @@ -7446,7 +7827,7 @@ 'SCH-R680!' => array( 'Samsung', 'Repp' ), 'SCH-R720!' => array( 'Samsung', 'Admire' ), 'SCH-R730!' => array( 'Samsung', 'Transfix' ), - 'SCH-R740!' => array( 'Samsung', 'SCH-R740' ), + 'SCH-R740!' => array( 'Samsung', 'Galaxy Discover' ), 'SCH-R760!' => array( 'Samsung', 'Galaxy S II' ), 'SCH-R820!' => array( 'Samsung', 'Admire' ), 'SCH-R830!' => array( 'Samsung', 'Axiom' ), @@ -7811,23 +8192,39 @@ 'ISW11SC' => array( 'Samsung', 'Galaxy S II WiMAX' ), '403SC' => array( 'Samsung', 'Galaxy Tab 4 (7.0)', TYPE_TABLET ), 'ELEMENT7V2' => array( 'Sencor', 'Element 7 V2', TYPE_TABLET ), + 'ELEMENT 7 V2 BASIC' => array( 'Sencor', 'Element 7 V2 Basic', TYPE_TABLET ), + 'ELEMENT 7V3' => array( 'Sencor', 'Element 7 V3', TYPE_TABLET ), + 'ELEMENT8' => array( 'Sencor', 'Element 8', TYPE_TABLET ), + 'SENCOR ELEMENT 8V2' => array( 'Sencor', 'Element 8 V2', TYPE_TABLET ), + 'ELEMENT 8V3' => array( 'Sencor', 'Element 8 V3', TYPE_TABLET ), + 'SENCOR ELEMENT 9.7V3' => array( 'Sencor', 'Element 9.7 V3', TYPE_TABLET ), + 'ELEMENT10 1' => array( 'Sencor', 'Element 10.1', TYPE_TABLET ), + 'ELEMENT P501' => array( 'Sencor', 'Element P501' ), 'SENSEIT R390' => array( 'Senseit', 'R390' ), 'SENWA S970' => array( 'Senwa', 'S970' ), 'S1005KTAB' => array( 'Serioux', 'GoTab S1005KTAB', TYPE_TABLET ), 'STARXTREM' => array( 'SFR', 'STARXTREM' ), 'STARXTREM II' => array( 'SFR', 'STARXTREM II' ), + 'Android edition by sfr STARADDICT' => array( 'SFR', 'STARADDICT' ), 'V961' => array( 'SFR', 'STARADDICT II' ), 'Smartphone Android by SFR STARADDICT II' => array( 'SFR', 'STARADDICT II' ), 'STARADDICT II Plus' => array( 'SFR', 'STARADDICT II Plus' ), 'STARADDICT III' => array( 'SFR', 'STARADDICT III' ), + 'Android Edition Starnaute' => array( 'SFR', 'STARNAUTE' ), 'STARNAUTE II' => array( 'SFR', 'STARNAUTE II' ), 'Starshine' => array( 'SFR', 'STARSHINE' ), + 'STARSHINE II' => array( 'SFR', 'STARSHINE II' ), 'STARSHINE III' => array( 'SFR', 'STARSHINE III' ), + 'Android Edition StarText' => array( 'SFR', 'STARTEXT' ), + 'STARTEXT II' => array( 'SFR', 'STARTEXT II' ), + 'Android Edition StarTrail' => array( 'SFR', 'STARTRAIL' ), 'STARTRAIL II' => array( 'SFR', 'STARTRAIL II' ), 'StarTrail III' => array( 'SFR', 'STARTRAIL III' ), + 'STARTRAIL4' => array( 'SFR', 'STARTRAIL 4' ), 'STARTRAIL 4' => array( 'SFR', 'STARTRAIL 4' ), 'STARTRAIL5' => array( 'SFR', 'STARTRAIL 5' ), 'STARTRAIL 6 4G' => array( 'SFR', 'STARTRAIL 6' ), + 'SFR StarTab' => array( 'SFR', 'STARTAB', TYPE_TABLET ), 'Bambook S1' => array( 'Shanda', 'Bambook S1', TYPE_TABLET ), '401SH' => array( 'Sharp', '401SH' ), '402SH' => array( 'Sharp', 'Aquos Crystal X 402SH' ), @@ -7974,12 +8371,15 @@ 'Andromax C' => array( 'Smartfren', 'Andromax C' ), 'Smartfren Andromax AD688G' => array( 'Smartfren', 'Andromax C2' ), 'Andromax C2' => array( 'Smartfren', 'Andromax C2' ), + 'Smartfren Andromax AD6B1H' => array( 'Smartfren', 'Andromax C3' ), 'Andromaxx-D_E1000' => array( 'Smartfren', 'Andromax D' ), 'Andromax AD687G' => array( 'Smartfren', 'Andromax G' ), 'AD687G' => array( 'Smartfren', 'Andromax G' ), 'Andromax G' => array( 'Smartfren', 'Andromax G' ), 'Andromax-G' => array( 'Smartfren', 'Andromax G' ), 'Smartfren Andromax AD681H' => array( 'Smartfren', 'Andromax G2' ), + 'Smartfren Andromax AD9A1H' => array( 'Smartfren', 'Andromax G2 Qwerty' ), + 'Andromax SD6D1U' => array( 'Smartfren', 'Andromax G2 LE' ), 'New Andromax-i' => array( 'Smartfren', 'Andromax I' ), 'Andromax AD683J' => array( 'Smartfren', 'Andromax I2' ), 'Andromax-i2' => array( 'Smartfren', 'Andromax I2' ), @@ -7990,10 +8390,10 @@ 'Andromax AD682J' => array( 'Smartfren', 'Andromax T' ), 'Andromax T AD628J' => array( 'Smartfren', 'Andromax T' ), 'Andromax U!' => array( 'Smartfren', 'Andromax U' ), - 'Smartfren Andromax AD6B1H' => array( 'Smartfren', 'Andromax AD6B1H' ), // Unknown - 'Smartfren Andromax AD9A1H' => array( 'Smartfren', 'Andromax AD9A1H' ), // Unknown - 'Andromax SD6D1U' => array( 'Smartfren', 'Andromax SD6D1U' ), // Unknown - 'Smartfren Tab 7' => array( 'Smartfren', 'Tab 7' ), + 'PD6D1J' => array( 'Smartfren', 'Andromax V3s' ), + 'Androtab 7' => array( 'Smartfren', 'Androtab 7', TYPE_TABLET ), + 'Smartfren Tab 7' => array( 'Smartfren', 'Tab 7', TYPE_TABLET ), + 'S7' => array( 'Smartfren', 'Tab 7', TYPE_TABLET ), 'SmartQ G7' => array( 'SmartQ', 'G7', TYPE_TABLET ), 'SmartQT7' => array( 'SmartQ', 'T7', TYPE_TABLET ), 'SmartQT10' => array( 'SmartQ', 'T10', TYPE_TABLET ), @@ -8214,6 +8614,7 @@ 'Xperia™ C' => array( 'Sony', 'Xperia C' ), // Pelican 'Xperia™ ZL39H' => array( 'Sony', 'Xperia Z Ultra' ), // Togari 'Xperia™ Miku' => array( 'Sony', 'Xperia Feat. Hatsune Miku' ), // Dogo + 'Xperia Tablet S' => array( 'Sony', 'Xperia Tablet S', TYPE_TABLET ), 'Xperia Live with Walkman' => array( 'Sony Ericsson', 'Live with Walkman' ), // Coconut 'Live ?With ?Walkman!' => array( 'Sony Ericsson', 'Live with Walkman' ), // Coconut 'Arc' => array( 'Sony Ericsson', 'Xperia Arc' ), // Anzu @@ -8352,6 +8753,11 @@ 'Starway Andromeda S910' => array( 'Starway', 'Andromeda S910', TYPE_TABLET ), 'Andromeda S910' => array( 'Starway', 'Andromeda S910', TYPE_TABLET ), 'Andromeda S940' => array( 'Starway', 'Andromeda S940', TYPE_TABLET ), + 'STX EVO' => array( 'Stonex', 'STX Evo' ), + 'STX Mini' => array( 'Stonex', 'STX Mini' ), + 'STX MINI 2' => array( 'Stonex', 'STX Mini 2' ), + 'STX ULTRA' => array( 'Stonex', 'STX Ultra' ), + 'STX ULTRA 2' => array( 'Stonex', 'STX Ultra 2' ), 'Scroll Engage' => array( 'Storage Options', 'Scroll Engage', TYPE_TABLET ), 'Scroll Essential' => array( 'Storage Options', 'Scroll Essential', TYPE_TABLET ), 'Scroll Essential II' => array( 'Storage Options', 'Scroll Essential 2', TYPE_TABLET ), @@ -8363,19 +8769,41 @@ 'Scroll Tablet PC' => array( 'Storage Options', 'Scroll Tablet PC', TYPE_TABLET ), 'eZee\'Tab10c' => array( 'Storex', 'eZee\'Tab 10c', TYPE_TABLET ), 'eZee\'Tab702' => array( 'Storex', 'eZee\'Tab 702', TYPE_TABLET ), + 'eZee\' Tab702' => array( 'Storex', 'eZee\'Tab 702', TYPE_TABLET ), 'eZee\'Tab703' => array( 'Storex', 'eZee\'Tab 703', TYPE_TABLET ), + 'eZee\'Tab705' => array( 'Storex', 'eZee\'Tab 705', TYPE_TABLET ), + 'eZee\'TAB706' => array( 'Storex', 'eZee\'Tab 706', TYPE_TABLET ), 'eZee\'TAB707' => array( 'Storex', 'eZee\'Tab 707', TYPE_TABLET ), 'eZee\'Tab709' => array( 'Storex', 'eZee\'Tab 709', TYPE_TABLET ), + 'eZee\'Tab785' => array( 'Storex', 'eZee\'Tab 785', TYPE_TABLET ), + 'eZee\'Tab785D11-S' => array( 'Storex', 'eZee\'Tab 785', TYPE_TABLET ), + 'eZee\'Tab785Q11-M' => array( 'Storex', 'eZee\'Tab 785', TYPE_TABLET ), + 'eZee\'Tab802' => array( 'Storex', 'eZee\'Tab 802', TYPE_TABLET ), 'eZee\'Tab803' => array( 'Storex', 'eZee\'Tab 803', TYPE_TABLET ), 'eZee\'Tab804' => array( 'Storex', 'eZee\'Tab 804', TYPE_TABLET ), + 'eZee Tab805' => array( 'Storex', 'eZee\'Tab 805', TYPE_TABLET ), + 'Ezee\'TAB901' => array( 'Storex', 'eZee\'Tab 901', TYPE_TABLET ), + 'eZee\'Tab903' => array( 'Storex', 'eZee\'Tab 903', TYPE_TABLET ), + 'eZee\'Tab904' => array( 'Storex', 'eZee\'Tab 904', TYPE_TABLET ), + 'eZee Tab973' => array( 'Storex', 'eZee\'Tab 973', TYPE_TABLET ), + 'eZee\'TAB973' => array( 'Storex', 'eZee\'Tab 973', TYPE_TABLET ), 'eZee\'Tab1001' => array( 'Storex', 'eZee\'Tab 1001', TYPE_TABLET ), 'EzeeTab\'1001' => array( 'Storex', 'eZee\'Tab 1001', TYPE_TABLET ), + 'eZeeTab1003' => array( 'Storex', 'eZee\'Tab 1003', TYPE_TABLET ), + 'eZee\'Tab1004' => array( 'Storex', 'eZee\'Tab 1004', TYPE_TABLET ), 'eZeeTab7c2' => array( 'Storex', 'eZee\'Tab 7c2', TYPE_TABLET ), 'eZeeTab7c5' => array( 'Storex', 'eZee\'Tab 7c5', TYPE_TABLET ), + 'eZee\'Tab7D10-S' => array( 'Storex', 'eZee\'Tab 7d10s', TYPE_TABLET ), + 'eZee\'TAB7D12-S' => array( 'Storex', 'eZee\'Tab 7d12s', TYPE_TABLET ), 'eZee\'Tab7D13-S' => array( 'Storex', 'eZee\'Tab 7d13s', TYPE_TABLET ), 'eZee\'Tab7D14-S' => array( 'Storex', 'eZee\'Tab 7d14s', TYPE_TABLET ), + 'eZeeTab7D15-M' => array( 'Storex', 'eZee\'Tab 7d15s', TYPE_TABLET ), 'eZee\'Tab785D12-S' => array( 'Storex', 'eZee\'Tab 785d12s', TYPE_TABLET ), + 'eZee\'Tab8D11-S' => array( 'Storex', 'eZee\'Tab 8d11s', TYPE_TABLET ), + 'eZee\'Tab97D11-S' => array( 'Storex', 'eZee\'Tab 97d11s', TYPE_TABLET ), + 'eZee\'Tab10D11-M' => array( 'Storex', 'eZee\'Tab 10d11m', TYPE_TABLET ), 'eZee\'Tab13Q10-M' => array( 'Storex', 'eZee\'Tab 13q10m', TYPE_TABLET ), + 'STOREX LinkBox' => array( 'Storex', 'LinkBox', TYPE_TELEVISION ), 'SRT AN4' => array( 'Strong', 'SRT AN4', TYPE_TELEVISION ), 'SRT AN4M' => array( 'Strong', 'SRT AN4M', TYPE_TELEVISION ), 'Cyclone Explorer' => array( 'Sumvision', 'Cyclone Explorer', TYPE_TABLET ), @@ -8390,6 +8818,7 @@ 'SC-90JB' => array( 'Supersonic', 'Matrix SC-90JB', TYPE_TABLET ), 'SC-90MID' => array( 'Supersonic', 'Matrix SC-90MID', TYPE_TABLET ), 'SC-91JB' => array( 'Supersonic', 'Matrix SC-91JB', TYPE_TABLET ), + 'SC-91MID' => array( 'Supersonic', 'Matrix SC-91MID', TYPE_TABLET ), 'SUPRA M121G' => array( 'SUPRA', 'M121G', TYPE_TABLET ), 'SUPRA M141G' => array( 'SUPRA', 'M141G', TYPE_TABLET ), 'SUPRA M145G' => array( 'SUPRA', 'M145G', TYPE_TABLET ), @@ -8434,6 +8863,7 @@ 'Symphony W72' => array( 'Symphony', 'Xplorer W72' ), 'Symphony W82' => array( 'Symphony', 'Xplorer W82' ), 'Symphony W85' => array( 'Symphony', 'Xplorer W85' ), + 'SYMPHONY W90' => array( 'Symphony', 'Xplorer W90' ), 'Xplorer W125' => array( 'Symphony', 'Xplorer W125' ), 'Symphony W125' => array( 'Symphony', 'Xplorer W125' ), 'Symphony W128' => array( 'Symphony', 'Xplorer W128' ), @@ -8504,6 +8934,7 @@ 'TCL P301M' => array( 'TCL', 'P301' ), 'TCL-P316L' => array( 'TCL', 'P316' ), 'TCL P331M' => array( 'TCL', 'P331' ), + 'TCL P332U' => array( 'TCL', 'P332' ), 'TCL P360W' => array( 'TCL', 'P360' ), 'TCL-P516L' => array( 'TCL', 'P516' ), 'TCL P518L' => array( 'TCL', 'P518' ), @@ -8569,6 +9000,7 @@ 'TECNO H5' => array( 'Tecno', 'H5' ), 'TECNO H6' => array( 'Tecno', 'H6' ), 'TECNO H7' => array( 'Tecno', 'H7' ), + 'L3' => array( 'Tecno', 'L3' ), 'TECNO L3' => array( 'Tecno', 'L3' ), 'TECNO L7' => array( 'Tecno', 'L7' ), 'TECNO M3' => array( 'Tecno', 'M3' ), @@ -8594,12 +9026,14 @@ 'TECNO R7' => array( 'Tecno', 'R7' ), 'TECNO S3' => array( 'Tecno', 'S3' ), 'TECNO S3+' => array( 'Tecno', 'S3+' ), + 'TECNO S3C' => array( 'Tecno', 'S3C' ), 'TECNO S3M' => array( 'Tecno', 'S3M' ), 'TECNO S5' => array( 'Tecno', 'S5' ), 'TECNO S7' => array( 'Tecno', 'S7' ), 'TECNO S9' => array( 'Tecno', 'S9' ), 'TECNO S9S' => array( 'Tecno', 'S9S' ), 'TECNO T1' => array( 'Tecno', 'T1' ), + 'TECNO T3' => array( 'Tecno', 'T3' ), 'Xtab1081HD' => array( 'Techtab', 'Xtab 1081 HD', TYPE_TABLET ), 'Teclast A10' => array( 'Teclast', 'A10', TYPE_TABLET ), 'A10H(D5W6)' => array( 'Teclast', 'A10H', TYPE_TABLET ), @@ -8746,6 +9180,8 @@ 'Telpad QS' => array( 'Telpad', 'Quad S', TYPE_TABLET ), 'T3696' => array( 'Telsda', 'T3696' ), 'Tensent S9000' => array( 'Tensent', 'S9000' ), + 'Hudl HT7S3' => array( 'Tesco', 'Hudl', TYPE_TABLET ), + 'Hudl 2' => array( 'Tesco', 'Hudl 2', TYPE_TABLET ), 'TM-3200R' => array( 'teXet', 'TM-3200R' ), 'TM-3204R' => array( 'teXet', 'TM-3204R' ), 'teXet X-alpha' => array( 'teXet', 'X-alpha TM-3521' ), @@ -8767,8 +9203,11 @@ 'TM-7041' => array( 'teXet', 'TM-7041', TYPE_TABLET ), 'TM-7043XD' => array( 'teXet', 'TM-7043XD', TYPE_TABLET ), 'TM-7047HD 3G' => array( 'teXet', 'TM-7047HD', TYPE_TABLET ), + 'NaviPad TM-7055HD 3G' => array( 'teXet', 'NaviPad HD TM-7055', TYPE_TABLET ), 'TM-7096' => array( 'teXet', 'X-pad NAVI 7.3 TM-7096', TYPE_TABLET ), 'TM-7854' => array( 'teXet', 'TM-7854', TYPE_TABLET ), + 'NaviPad TM-7855 3G' => array( 'teXet', 'NaviPad TM-7855', TYPE_TABLET ), + 'NaviPad TM-7858 3G (revision 1)' => array( 'teXet', 'NaviPad TM-7858', TYPE_TABLET ), 'TM-8041HD' => array( 'teXet', 'TM-8041HD', TYPE_TABLET ), 'TM-8051' => array( 'teXet', 'X-pad FORCE 8i TM-8051', TYPE_TABLET ), 'TM-9720' => array( 'teXet', 'TM-9720', TYPE_TABLET ), @@ -8782,7 +9221,19 @@ 'TM-9757' => array( 'teXet', 'TM-9757', TYPE_TABLET ), 'TM-9767' => array( 'teXet', 'X-pad STYLE 10 TM-9767', TYPE_TABLET ), 'TM-1058' => array( 'teXet', 'X-force 10 TM-1058', TYPE_TABLET ), + 'EVERY35' => array( 'Thomson', 'Every35' ), + 'TLINK350' => array( 'Thomson', 'Tlink350' ), + 'TLINK351' => array( 'Thomson', 'Tlink351' ), + 'TLINK355' => array( 'Thomson', 'Tlink355' ), + 'TLINK405' => array( 'Thomson', 'Tlink405' ), + 'TLINK455' => array( 'Thomson', 'Tlink455' ), + 'TLINK475' => array( 'Thomson', 'Tlink475' ), 'MoFing' => array( 'Thomson', 'MoFing', TYPE_TABLET ), + '8950' => array( 'Thomson', '3G 8950', TYPE_TABLET ), + 'PRIMO7' => array( 'Thomson', 'Primo 7', TYPE_TABLET ), + 'PRIMO8' => array( 'Thomson', 'Primo 8', TYPE_TABLET ), + 'QM734-8G' => array( 'Thomson', 'QM734-8G', TYPE_TABLET ), + 'QM735-8G' => array( 'Thomson', 'QM735-8G', TYPE_TABLET ), 'ATP7526' => array( 'Tomtec', 'Ultimate10', TYPE_TABLET ), 'ATP7683' => array( 'Tomtec', 'Ultimate10', TYPE_TABLET ), 'Ultimate10' => array( 'Tomtec', 'Ultimate10', TYPE_TABLET ), @@ -8899,6 +9350,10 @@ 'ST10216-3' => array( 'Trekstor', 'Surftab Ventos 10.1', TYPE_TABLET ), 'ST70408-1' => array( 'Trekstor', 'Surftab Xirion 7.0', TYPE_TABLET ), 'ST10416-1' => array( 'Trekstor', 'Surftab Xirion 10.1', TYPE_TABLET ), + 'Trevi PHABLET 4C' => array( 'Trevi', 'Phablet 4C' ), + 'PHABLET 4S' => array( 'Trevi', 'Phablet 4S' ), + 'Phablet 4.5Q' => array( 'Trevi', 'Phablet 4.5Q' ), + 'Trevi PHABLET 5 S' => array( 'Trevi', 'Phablet 5S' ), 'TREQ A10C' => array( 'Treq', 'A10C', TYPE_TABLET ), 'TREQ A10G 3G' => array( 'Treq', 'A10G', TYPE_TABLET ), 'treq A10G Duo' => array( 'Treq', 'A10G', TYPE_TABLET ), @@ -8912,7 +9367,19 @@ 'TREQ Turbo' => array( 'Treq', 'Turbo', TYPE_TABLET ), 'TREQ-TURBO' => array( 'Treq', 'Turbo', TYPE_TABLET ), 'TREQ 3G Turbo' => array( 'Treq', 'Turbo', TYPE_TABLET ), + 'Phablet 5,3 Q' => array( 'Trevi', 'Phablet 5.3 Q' ), + 'Trevi REVERSE 5.5Q' => array( 'Trevi', 'Phablet 5.5 Q REVERSE' ), + 'Trevi PHABLET 6 S' => array( 'Trevi', 'Phablet 6 S' ), + 'TAB 7 3G V8' => array( 'Trevi', 'Tab 7 V8', TYPE_TABLET ), + 'TAB 8 3G V8' => array( 'Trevi', 'Tab 8 V8', TYPE_TABLET ), + 'TAB9 3G' => array( 'Trevi', 'Tab 9', TYPE_TABLET ), + 'TAB9 3G V8' => array( 'Trevi', 'Tab 9 V8', TYPE_TABLET ), + 'TAB 10 3G V16' => array( 'Trevi', 'Tab 10 V16', TYPE_TABLET ), + 'Turbo-X pi' => array( 'Turbo-X', 'Pi' ), + 'Turbo-X Ice' => array( 'Turbo-X', 'Ice', TYPE_TABLET ), + 'Turbo-X Tablet Spice III' => array( 'Turbo-X', 'Spice III', TYPE_TABLET ), 'SPICE IV' => array( 'Turbo-X', 'Spice IV', TYPE_TABLET ), + 'NuclearSX-SP5' => array( 'TVC', 'Nuclear SX-SP5' ), 'Amazing A1' => array( 'TWM', 'Amazing A1' ), 'Amazing A3' => array( 'TWM', 'Amazing A3' ), 'Amazing A4' => array( 'TWM', 'Amazing A4' ), @@ -8930,6 +9397,7 @@ 'Fantastic T3' => array( 'TWM', 'Fantastic T3' ), 'TB100' => array( 'Unitech', 'TB100', TYPE_TABLET ), 'M70014' => array( 'United Star Technology', 'M70014', TYPE_TABLET ), + 'QOOQ' => array( 'Unowhy', 'QOOQ', TYPE_TABLET ), 'UMI C1' => array( 'UMI', 'C1' ), 'UMI S1' => array( 'UMI', 'S1' ), 'UMI X1' => array( 'UMI', 'X1' ), @@ -8979,18 +9447,21 @@ 'Videocon A15' => array( 'Videocon', 'A15' ), 'Videocon A20' => array( 'Videocon', 'A20' ), 'Videocon A26' => array( 'Videocon', 'A26' ), + 'Videocon A27i' => array( 'Videocon', 'A27i' ), 'Videocon A45' => array( 'Videocon', 'A45' ), 'Videocon A47' => array( 'Videocon', 'A47' ), 'Videocon A51' => array( 'Videocon', 'A51' ), 'Videocon-V7500' => array( 'Videocon', 'V7500' ), 'Videocon VT85C' => array( 'Videocon', 'VT85C' ), 'ViewSonic-V350' => array( 'ViewSonic', 'V350' ), + 'ViewPhone3' => array( 'ViewSonic', 'ViewPhone 3' ), 'GTablet' => array( 'ViewSonic', 'gTablet', TYPE_TABLET ), 'GtabComb' => array( 'ViewSonic', 'gTablet', TYPE_TABLET ), 'TeamDRH ICS for GTablet' => array( 'ViewSonic', 'gTablet', TYPE_TABLET ), 'ViewPad7' => array( 'ViewSonic', 'ViewPad 7', TYPE_TABLET ), 'ViewPad 7D' => array( 'ViewSonic', 'ViewPad 7d', TYPE_TABLET ), 'ViewPad 7D Pro' => array( 'ViewSonic', 'ViewPad 7d Pro', TYPE_TABLET ), + 'ViewSonic-ViewPad7e' => array( 'ViewSonic', 'ViewPad 7e', TYPE_TABLET ), 'ViewPad 10e' => array( 'ViewSonic', 'ViewPad 10e', TYPE_TABLET ), 'ViewPad 10S' => array( 'ViewSonic', 'ViewPad 10s', TYPE_TABLET ), 'ViewPad 70Q' => array( 'ViewSonic', 'ViewPad 70q', TYPE_TABLET ), @@ -9106,6 +9577,7 @@ 'Xtreme V10' => array( 'Voice', 'Xtreme V10' ), 'Xtreme V20' => array( 'Voice', 'Xtreme V20' ), 'Xtreme-V30' => array( 'Voice', 'Xtreme V30' ), + 'vollo Vi86' => array( 'VOLLO', 'Vi86' ), 'VOTO V5' => array( 'VOTO', 'V5' ), 'VOTO VT888' => array( 'VOTO', 'VT888' ), 'VOTO W5300' => array( 'VOTO', 'W5300' ), @@ -9172,6 +9644,7 @@ 'Primo-ZX' => array( 'Walton', 'Primo ZX' ), 'Primo Walpad 7' => array( 'Walton', 'Primo Walpad 7', TYPE_TABLET ), 'Primo Walpad 8' => array( 'Walton', 'Primo Walpad 8', TYPE_TABLET ), + 'Walpad 8b ' => array( 'Walton', 'Primo Walpad 8b', TYPE_TABLET ), 'Primo Walpad 8W' => array( 'Walton', 'Primo Walpad 8W', TYPE_TABLET ), 'xPAD-70' => array( 'WayteQ', 'xPAD-70', TYPE_TABLET ), 'xTAB-7X' => array( 'WayteQ', 'xTAB-7X', TYPE_TABLET ), @@ -9181,11 +9654,18 @@ 'WellcoM-A88' => array( 'WellcoM', 'A88' ), 'WellcoM-A99' => array( 'WellcoM', 'A99' ), 'WellcoM-A800' => array( 'WellcoM', 'A800', TYPE_TABLET ), + 'ZEN 4.5' => array( 'Wexler', 'Zen 4.5' ), + 'WEXLER. ZEN 5' => array( 'Wexler', 'Zen 5' ), 'WEXLER TAB7ID' => array( 'Wexler', 'Tab 7ID', TYPE_TABLET ), 'WEXLER-TAB-7iS' => array( 'Wexler', 'Tab 7IS', TYPE_TABLET ), 'WEXLER-TAB-7T' => array( 'Wexler', 'Tab 7T', TYPE_TABLET ), + 'TAB 10Q' => array( 'Wexler', 'Tab 10Q', TYPE_TABLET ), 'WEXLER.BOOK T7008' => array( 'Wexler', 'Book T7008', TYPE_TABLET ), 'WHAM WG40' => array( 'Wham', 'WG40' ), + 'BARRY' => array( 'Wiko', 'Barry' ), + 'BIRDY' => array( 'Wiko', 'Birdy' ), + 'BLOOM' => array( 'Wiko', 'Bloom' ), + 'CINK+' => array( 'Wiko', 'Cink+' ), 'CINK FIVE' => array( 'Wiko', 'Cink Five' ), 'Wiko Cink Five' => array( 'Wiko', 'Cink Five' ), 'CINK KING' => array( 'Wiko', 'Cink King' ), @@ -9203,9 +9683,27 @@ 'DARKMOON' => array( 'Wiko', 'Darkmoon' ), 'DARKNIGHT' => array( 'Wiko', 'Darknight' ), 'DARKSIDE' => array( 'Wiko', 'Darkside' ), + 'GETAWAY' => array( 'Wiko', 'Getaway' ), + 'GOA' => array( 'Wiko', 'Goa' ), + 'HIGHWAY' => array( 'Wiko', 'Highway' ), + 'HIGHWAY SIGNS' => array( 'Wiko', 'Highway Signs' ), + 'IGGY' => array( 'Wiko', 'Iggy' ), + 'JIMMY' => array( 'Wiko', 'Jimmy' ), + 'KITE' => array( 'Wiko', 'Kite' ), 'LENNY' => array( 'Wiko', 'Lenny' ), + 'OZZY' => array( 'Wiko', 'Ozzy' ), 'Wiko Rainbow' => array( 'Wiko', 'Rainbow' ), + 'RAINBOW' => array( 'Wiko', 'Rainbow' ), + 'RAINBOW 4G' => array( 'Wiko', 'Rainbow' ), + 'RIDGE' => array( 'Wiko', 'Ridge' ), + 'RIDGE 4G' => array( 'Wiko', 'Ridge' ), + 'RIDGE FAB 4G' => array( 'Wiko', 'Ridge Fab' ), + 'SLIDE' => array( 'Wiko', 'Slide' ), + 'STAIRWAY' => array( 'Wiko', 'Stairway' ), 'Wiko Stairway' => array( 'Wiko', 'Stairway' ), + 'SUBLIM' => array( 'Wiko', 'Sublim' ), + 'SUNSET' => array( 'Wiko', 'Sunset' ), + 'WAX' => array( 'Wiko', 'Wax' ), 'N5PRO2jingying' => array( 'Window', 'N5 Pro 2', TYPE_MEDIA ), 'N12' => array( 'Window', 'N12', TYPE_TABLET ), 'N12R' => array( 'Window', 'N12R', TYPE_TABLET ), @@ -9235,12 +9733,15 @@ 'miTab Boston' => array( 'Wolder', 'miTab BOSTON', TYPE_TABLET ), 'miTab BROOKLYN' => array( 'Wolder', 'miTab BROOKLYN', TYPE_TABLET ), 'miTab EPSILON' => array( 'Wolder', 'miTab EPSILON', TYPE_TABLET ), + 'miTab-EPSILON' => array( 'Wolder', 'miTab EPSILON', TYPE_TABLET ), 'miTab FEEL' => array( 'Wolder', 'miTab FEEL', TYPE_TABLET ), 'miTab FUNK' => array( 'Wolder', 'miTab FUNK', TYPE_TABLET ), 'miTab-GENIUS' => array( 'Wolder', 'miTab GENIUS', TYPE_TABLET ), 'miTab GENIUS' => array( 'Wolder', 'miTab GENIUS', TYPE_TABLET ), + 'miTab HERO' => array( 'Wolder', 'miTab HERO', TYPE_TABLET ), 'miTab HOP!' => array( 'Wolder', 'miTab HOP!', TYPE_TABLET ), 'miTab IOWA' => array( 'Wolder', 'miTab IOWA', TYPE_TABLET ), + 'miTab JUMP' => array( 'Wolder', 'miTab JUMP', TYPE_TABLET ), 'miTab LION' => array( 'Wolder', 'miTab LION', TYPE_TABLET ), 'miTab LIVE' => array( 'Wolder', 'miTab LIVE', TYPE_TABLET ), 'miTab NEO' => array( 'Wolder', 'miTab NEO', TYPE_TABLET ), @@ -9279,11 +9780,13 @@ 'wm8710-tvbox' => array( 'WonderMedia', 'WM8710', TYPE_TELEVISION ), 'WM8850-mid' => array( 'WonderMedia', 'WM8850', TYPE_TABLET ), 'PAD1001' => array( 'Wortmann', 'TERRA MOBILE PAD 1001', TYPE_TABLET ), + 'Woxter Zielo D15' => array( 'Woxter', 'Zielo D15' ), 'Woxter Zielo Q25' => array( 'Woxter', 'Zielo Q25' ), 'Woxter Zielo Z400' => array( 'Woxter', 'Zielo Z400' ), 'Woxter Zielo Z820Plus' => array( 'Woxter', 'Zielo Z820 Plus' ), 'Woxter Tablet PC 50BL DUAL' => array( 'Woxter', 'Tablet PC 50 BL Dual', TYPE_TABLET ), 'Woxter Tablet PC 75CXi' => array( 'Woxter', 'Tablet PC 75 CXi', TYPE_TABLET ), + 'Woxter Tablet PC 76CXi' => array( 'Woxter', 'Tablet PC 76 CXi', TYPE_TABLET ), 'Woxter Tablet PC 85CXi' => array( 'Woxter', 'Tablet PC 85 CXi', TYPE_TABLET ), 'Woxter Tablet PC 85 HDS' => array( 'Woxter', 'Tablet PC 85 HDS', TYPE_TABLET ), 'Woxter Tablet PC 90BL' => array( 'Woxter', 'Tablet PC 90 BL', TYPE_TABLET ), @@ -9350,6 +9853,7 @@ 'HM NOTE 1LTE' => array( 'Xiaomi', 'Redmi Note 1' ), 'HM NOTE 1LTETD' => array( 'Xiaomi', 'Redmi Note 1' ), 'HM NOTE 1LTEW' => array( 'Xiaomi', 'Redmi Note 1' ), + 'HM NOTE 1LTEGLOBAL' => array( 'Xiaomi', 'Redmi Note 1' ), 'HM NOTE 1TD' => array( 'Xiaomi', 'Redmi Note 1' ), 'HM NOTE 1W' => array( 'Xiaomi', 'Redmi Note 1' ), 'Redmi Note 4G (LTE)' => array( 'Xiaomi', 'Redmi Note 1' ), @@ -9357,7 +9861,10 @@ '2013023' => array( 'Xiaomi', 'Redmi Red Rice' ), '2014011' => array( 'Xiaomi', 'Redmi Red Rice' ), '2014501' => array( 'Xiaomi', 'Redmi Red Rice' ), + '2014501 TD-LTE' => array( 'Xiaomi', 'Redmi Red Rice' ), 'RedRice' => array( 'Xiaomi', 'Redmi Red Rice' ), + '2014811' => array( 'Xiaomi', 'Redmi Red Rice 2' ), + '2014813' => array( 'Xiaomi', 'Redmi Red Rice 2' ), 'MI PAD' => array( 'Xiaomi', 'MiPad', TYPE_TABLET ), 'MiBOX iCNTV' => array( 'Xiaomi', 'MiBox 1', TYPE_TELEVISION ), 'MiBOX1S' => array( 'Xiaomi', 'MiBox 1S', TYPE_TELEVISION ), @@ -9381,10 +9888,12 @@ 'Luna TAB07-920N' => array( 'Yarvik', 'Luna 7', TYPE_TABLET ), 'Luna TAB07-100' => array( 'Yarvik', 'Luna 7c', TYPE_TABLET ), 'Luna TAB07-101' => array( 'Yarvik', 'Luna 7c', TYPE_TABLET ), + 'Luna TAB274' => array( 'Yarvik', 'Luna 7c', TYPE_TABLET ), 'Luna TAB474' => array( 'Yarvik', 'Luna 10', TYPE_TABLET ), 'Luna TAB10-150' => array( 'Yarvik', 'Luna 10c', TYPE_TABLET ), 'TAB09-410' => array( 'Yarvik', 'Noble 9.7', TYPE_TABLET ), 'TAB10-410' => array( 'Yarvik', 'Noble 10.1', TYPE_TABLET ), + 'Noble TAB07-485' => array( 'Yarvik', 'Noble Mini', TYPE_TABLET ), 'TAB07-485' => array( 'Yarvik', 'Noble Mini', TYPE_TABLET ), 'Xenta-TAB07-210' => array( 'Yarvik', 'Xenta 7c', TYPE_TABLET ), 'Xenta-TAB07-211' => array( 'Yarvik', 'Xenta 7c', TYPE_TABLET ), @@ -9392,9 +9901,9 @@ 'Xenta TAB07-200' => array( 'Yarvik', 'Xenta 7ic', TYPE_TABLET ), 'Xenta TAB08-200' => array( 'Yarvik', 'Xenta 8ic', TYPE_TABLET ), 'Xenta TAB08-201-3G' => array( 'Yarvik', 'Xenta 8c', TYPE_TABLET ), - 'TAB9-200' => array( 'Yarvik', 'Xenta 97ic', TYPE_TABLET ), - 'Xenta TAB9-200' => array( 'Yarvik', 'Xenta 97ic', TYPE_TABLET ), - 'Xenta TAB09-211' => array( 'Yarvik', 'Xenta 97ic+', TYPE_TABLET ), + 'TAB9-200' => array( 'Yarvik', 'Xenta 9.7ic', TYPE_TABLET ), + 'Xenta TAB9-200' => array( 'Yarvik', 'Xenta 9.7ic', TYPE_TABLET ), + 'Xenta TAB09-211' => array( 'Yarvik', 'Xenta 9.7ic+', TYPE_TABLET ), 'Xenta TAB10-211' => array( 'Yarvik', 'Xenta 10ic', TYPE_TABLET ), 'Xenta TAB10-201' => array( 'Yarvik', 'Xenta 10ic', TYPE_TABLET ), 'TAB10-201' => array( 'Yarvik', 'Xenta 10ic', TYPE_TABLET ), @@ -9498,6 +10007,7 @@ 'ZBOX-ID18' => array( 'Zotac', 'ZBOX ID18', TYPE_DESKTOP ), 'ZBOX-ID81' => array( 'Zotac', 'ZBOX ID81', TYPE_DESKTOP ), 'ZTE Libra' => array( 'ZTE', 'Libra' ), + 'ZTE-LINK' => array( 'ZTE', 'Link' ), 'ZTE T T9' => array( 'ZTE', 'Light Tab T9', TYPE_TABLET ), 'ZTE V7073' => array( 'ZTE', 'Light Tab V9', TYPE_TABLET ), 'V9' => array( 'ZTE', 'Light Tab V9', TYPE_TABLET ), @@ -9781,6 +10291,7 @@ 'Blade2' => array( 'ZTE', 'V881 Blade II' ), 'ZTE U V881' => array( 'ZTE', 'V881 Blade II' ), 'ZTE V881' => array( 'ZTE', 'V881 Blade II' ), + 'ZTE V882' => array( 'ZTE', 'V882' ), 'ZTE N882E' => array( 'ZTE', 'N882E' ), 'ZTE ?U885!' => array( 'ZTE', 'U885' ), 'ZTE U887' => array( 'ZTE', 'U887' ), @@ -9886,6 +10397,7 @@ 'N9520' => array( 'ZTE', 'N9520 Stormer' ), 'N9810' => array( 'ZTE', 'N9810 Vital' ), 'N9835' => array( 'ZTE', 'N9835 Grand S Pro' ), + 'N958St' => array( 'ZTE', 'Nubia V5 Max' ), 'NX40X' => array( 'ZTE', 'Nubia Z5 mini' ), 'NX40X APT' => array( 'ZTE', 'Nubia Z5 mini' ), 'NX402' => array( 'ZTE', 'Nubia Z5 mini' ), @@ -9902,10 +10414,12 @@ 'NX506J' => array( 'ZTE', 'Nubia Z7' ), 'NX507H' => array( 'ZTE', 'Nubia Z7 mini' ), 'NX507J' => array( 'ZTE', 'Nubia Z7 mini' ), + 'NX508J' => array( 'ZTE', 'Nubia Z9' ), 'NX510J' => array( 'ZTE', 'Nubia Z9 Max' ), 'NX511J' => array( 'ZTE', 'Nubia Z9 mini' ), 'NX512J' => array( 'ZTE', 'Nubia Z9 Max' ), 'ZXY-NX512J' => array( 'ZTE', 'Nubia Z9 Max' ), + 'NX513J' => array( 'ZTE', 'Nubia My Prague' ), 'ZTE Nubia X6' => array( 'ZTE', 'Nubia X6' ), 'NX601J' => array( 'ZTE', 'Nubia X6' ), 'ZTE N5' => array( 'ZTE', 'N5 Grand Memo' ), @@ -10006,6 +10520,7 @@ 'i-mobile i858' => array( 'i-Mobile', 'i858' ), 'i-mobile 3G 8500' => array( 'i-Mobile', '3G 8500' ), 'i-mobile IQ 1' => array( 'i-Mobile', 'iQ 1' ), + 'i-mobile IQ1-1' => array( 'i-Mobile', 'iQ 1' ), 'i-mobile IQ 2' => array( 'i-Mobile', 'iQ 2' ), 'i-mobile IQ 2A' => array( 'i-Mobile', 'iQ 2A' ), 'i-mobile IQ 3' => array( 'i-Mobile', 'iQ 3' ), @@ -10044,6 +10559,7 @@ 'i-STYLE 1' => array( 'i-Mobile', 'i-Style 1' ), 'i-mobile i-STYLE 2' => array( 'i-Mobile', 'i-Style 2' ), 'i-STYLE2.1' => array( 'i-Mobile', 'i-Style 2.1' ), + 'i-STYLE2.1A' => array( 'i-Mobile', 'i-Style 2.1A' ), 'i-mobile i-STYLE 2.2' => array( 'i-Mobile', 'i-Style 2.2' ), 'i-mobile i-style 2.3' => array( 'i-Mobile', 'i-Style 2.3' ), 'i-mobile i-style 2.3A' => array( 'i-Mobile', 'i-Style 2.3A' ), @@ -10056,17 +10572,20 @@ 'i-MOBILE i-STYLE 5' => array( 'i-Mobile', 'i-Style 5' ), 'i-mobile i-STYLE 7' => array( 'i-Mobile', 'i-Style 7' ), 'i-mobile i-style 7.1' => array( 'i-Mobile', 'i-Style 7.1' ), + 'i-mobile i-STYLE 7.2' => array( 'i-Mobile', 'i-Style 7.2' ), 'i-mobile i-STYLE 7.3' => array( 'i-Mobile', 'i-Style 7.3' ), 'i-mobile i-STYLE 7.3A' => array( 'i-Mobile', 'i-Style 7.3A' ), 'i-mobile i-STYLE 7.5' => array( 'i-Mobile', 'i-Style 7.5' ), 'i-STYLE 7.6' => array( 'i-Mobile', 'i-Style 7.6' ), 'i-mobile i-STYLE 7.7 DTV' => array( 'i-Mobile', 'i-Style 7.7 DTV' ), + 'i-mobile i-STYLE 7.8 DTV' => array( 'i-Mobile', 'i-Style 7.8 DTV' ), 'i-mobile i-style 8' => array( 'i-Mobile', 'i-Style 8' ), 'i-mobile i-STYLE 8.2' => array( 'i-Mobile', 'i-Style 8.2' ), 'i-mobile i-STYLE 8.3 DTV' => array( 'i-Mobile', 'i-Style 8.3 DTV' ), 'i-mobile i-STYLE 8.6 DTV' => array( 'i-Mobile', 'i-Style 8.6 DTV' ), 'i-mobile i-STYLE 210' => array( 'i-Mobile', 'i-Style 210' ), 'i-mobile i-STYLE 215' => array( 'i-Mobile', 'i-Style 215' ), + 'i-mobile I-STYLE 217' => array( 'i-Mobile', 'i-Style 217' ), 'i-mobile i-STYLE 218' => array( 'i-Mobile', 'i-Style 218' ), 'i-mobile i-style Q1' => array( 'i-Mobile', 'i-Style Q1' ), 'i-mobile i-STYLE Q2' => array( 'i-Mobile', 'i-Style Q2' ), @@ -10079,6 +10598,7 @@ 'i-mobile i-STYLE Q 5A' => array( 'i-Mobile', 'i-Style Q5A' ), 'i-mobile i-STYLE Q6' => array( 'i-Mobile', 'i-Style Q6' ), 'i-mobile I-Note' => array( 'i-Mobile', 'i-Note', TYPE_TABLET ), + 'i-mobile i-note 2' => array( 'i-Mobile', 'i-Note 2', TYPE_TABLET ), 'i-mobile i-note 3' => array( 'i-Mobile', 'i-Note 3', TYPE_TABLET ), 'i-mobile i-note WIFI3' => array( 'i-Mobile', 'i-Note 3', TYPE_TABLET ), 'i-mobile i-note WiFi 7' => array( 'i-Mobile', 'i-Note 7', TYPE_TABLET ), @@ -10161,6 +10681,7 @@ 'San Francisco for' => array( 'Orange', 'San Francisco' ), /* ZTE Blade */ 'Orange San Francisco' => array( 'Orange', 'San Francisco' ), /* ZTE Blade */ 'San Francisco II' => array( 'Orange', 'San Francisco II' ), + 'Orange Tactile internet 2' => array( 'Orange', 'Tactile internet 2' ), 'Orange Tado' => array( 'Orange', 'Tado' ), 'Orange Yomi' => array( 'Orange', 'Yomi' ), 'Orange Yumo' => array( 'Orange', 'Yumo' ), @@ -10253,6 +10774,7 @@ 'T-Mobile myTouch Q' => array( 'T-Mobile', 'myTouch Q' ), /* Huawei U8730 */ 'LG-C800' => array( 'T-Mobile', 'myTouch Q' ), 'HUAWEI U8686' => array( 'T-Mobile', 'Prism' ), + 'Prism II' => array( 'T-Mobile', 'Prism II' ), 'U8220' => array( 'T-Mobile', 'Pulse' ), 'Pulse' => array( 'T-Mobile', 'Pulse' ), 'Pulse Mini' => array( 'T-Mobile', 'Pulse Mini' ), /* Huawei U8110 */ @@ -10280,6 +10802,8 @@ 'TRUE BEYOND 3G' => array( 'True', 'Beyond' ), + 'StarTrail TT' => array( 'Tunisie Telecom', 'StarTrail' ), + 'Turkcell Maxi Plus 5' => array( 'Turkcell', 'Maxi Plus 5' ), 'TURKCELL MaxiPRO5' => array( 'Turkcell', 'Maxi Pro 5' ), 'Turkcell T10' => array( 'Turkcell', 'T10' ), @@ -10312,13 +10836,13 @@ 'Vodafone 845' => array( 'Vodafone', '845 Nova' ), /* Huawei U8100 */ 'Vodafone 858' => array( 'Vodafone', '858 Smart' ), /* Huawei U8160 */ 'Vodafone 861' => array( 'Vodafone', '861 Smart' ), - 'Vodafone 875' => array( 'Vodafone', '875' ), - 'Vodafone 890N' => array( 'Vodafone', '890' ), + 'Vodafone 875' => array( 'Vodafone', 'Smart Mini' ), + 'Vodafone 890N' => array( 'Vodafone', 'Smart 4 Turbo' ), 'Vodafone 945' => array( 'Vodafone', '945' ), /* ZTE Joe */ 'Vodafone 958' => array( 'Vodafone', '958' ), 'Vodafone 975!' => array( 'Vodafone', '975' ), 'Vodafone 980' => array( 'Vodafone', '980' ), - 'Vodafone 985N' => array( 'Vodafone', '985' ), + 'Vodafone 985N' => array( 'Vodafone', 'Smart 4 Power' ), 'Vodafone Blade V' => array( 'Vodafone', 'Blade V' ), 'Vodafone Smart ll' => array( 'Vodafone', 'Smart II' ), 'Vodafone Smart II!' => array( 'Vodafone', 'Smart II' ), diff --git a/data/models-brew.php b/data/models-brew.php index 08bb23c..fa96e32 100644 --- a/data/models-brew.php +++ b/data/models-brew.php @@ -19,6 +19,7 @@ 'SCH-U485' => array( 'Samsung', 'Intensity III' ), 'SCH-U820' => array( 'Samsung', 'Reality' ), 'SCH-W709!' => array( 'Samsung', 'SCH-W709' ), + 'sam-r631' => array( 'Samsung', 'Messenger Touch R631' ), 'SCP6760' => array( 'Sanyo', 'Incognito' ), 'SCP-6760' => array( 'Sanyo', 'Incognito' ), 'SCP6780' => array( 'Sanyo', 'Innuendo' ), diff --git a/data/models-feature.php b/data/models-feature.php index 604feb8..cd7c128 100644 --- a/data/models-feature.php +++ b/data/models-feature.php @@ -27,6 +27,9 @@ 'GS500' => array( 'LG', 'GS500 Cookie Plus' ), 'GT500!' => array( 'LG', 'GT500 Puccini' ), 'GT550' => array( 'LG', 'GT550 Encore' ), + 'COCOON' => array( 'O2', 'Cocoon' ), + 'P7000' => array( 'Pantech', 'Impact' ), + 'P9020' => array( 'Pantech', 'Pursuit' ), 'GT-B2710' => array( 'Samsung', 'Xcover 271' ), 'GT-B3210' => array( 'Samsung', 'Corby TXT' ), 'GT-B3313' => array( 'Samsung', 'Corby Mate' ), @@ -66,6 +69,8 @@ 'SM-B350E' => array( 'Samsung', 'Metro 350' ), 'SM-B780(A|W)!' => array( 'Samsung', 'Rugby 4' ), 'S7350' => array( 'Samsung', 'S7350 Ultra S' ), + 'sam-r560' => array( 'Samsung', 'Messenger II R560' ), + 'tecnot36' => array( 'Tecno', 'T36' ), 'Vodafone 575' => array( 'Vodafone', '575' ), 'GT-I6410' => array( 'Vodafone', '360 M1' ), ); diff --git a/data/models-palmos.php b/data/models-palmos.php index 931ab6b..0c580cc 100644 --- a/data/models-palmos.php +++ b/data/models-palmos.php @@ -6,5 +6,6 @@ 'Palm-D061' => array( 'Palm', 'Centro' ), 'Palm-D062' => array( 'Palm', 'Centro' ), 'Palm-TunX' => array( 'Palm', 'LifeDrive' ), - 'hspr-H102' => array( 'Palm', 'Treo 650' ) + 'hspr-H102' => array( 'Palm', 'Treo 650' ), + 'Palm-Zir4' => array( 'Palm', 'Tungsten E2' ), ); \ No newline at end of file diff --git a/data/models-wm.php b/data/models-wm.php index 2c68c78..93fa84f 100644 --- a/data/models-wm.php +++ b/data/models-wm.php @@ -4,14 +4,17 @@ 'DX900' => array( 'Acer', 'Tempo DX900' ), 'F900' => array( 'Acer', 'Tempo F900' ), 'S200' => array( 'Acer', 'neoTouch S200' ), + 'P400' => array( 'Acer', 'neoTouch P400' ), 'Bird_T900' => array( 'Bird', 'T900' ), 'Coolpad F800' => array( 'Coolpad', 'F800' ), 'T5388' => array( 'Dopod', 'Touch Diamond 2' ), 'garmin-asus-Nuvifone-M10' => array( 'Garmin-Asus', 'Nuvifone M10' ), + 'GIGABYTE-MS800' => array( 'Gigabyte', 'GSmart MS800' ), 'HP iPAQ 510' => array( 'HP', 'iPAQ 510' ), 'iPAQ610' => array( 'HP', 'iPAQ 610' ), 'HTC love' => array( 'HTC', 'P3350' ), 'HTC P3400!' => array( 'HTC', 'P3400' ), + 'HTC S620!' => array( 'HTC', 'Excalibur' ), '((HTC )?HD mini|.*T5555)!' => array( 'HTC', 'HD mini' ), '((HTC )?HD2|.*T8585)!' => array( 'HTC', 'HD2' ), 'T-Mobile LEO' => array( 'HTC', 'HD2' ), @@ -34,6 +37,10 @@ 'VS750' => array( 'LG', 'Fathom VS750' ), 'ES405B' => array( 'Motorola', 'ES405 Enterprise Smartphone' ), 'MC659B' => array( 'Motorola', 'MC65 Wireless Rugged Mobile Computer' ), + 'comet' => array( 'O2', 'XDA Comet' ), + 'SPV E600' => array( 'Orange', 'SPV E600' ), + 'SPV E650' => array( 'Orange', 'SPV E650' ), + 'Treo850e' => array( 'Palm', 'Treo 850e' ), 'GT-B5722' => array( 'Samsung', 'B5722' ), 'GT-B6520' => array( 'Samsung', 'B6520 OmniaPRO 5' ), 'GT-B7300' => array( 'Samsung', 'B7300 OmniaLITE' ), @@ -50,5 +57,6 @@ 'WS007SH' => array( 'Sharp', 'W-ZERO3' ), 'M1i' => array( 'Sony Ericsson', 'M1i Aspen' ), 'X2' => array( 'Sony Ericsson', 'Xperia X2' ), + 'T-Mobile Cleopatra' => array( 'T-Mobile', 'Shadow II' ), 'XV6175.1' => array( 'UTStarcom', 'XV6175' ), ); \ No newline at end of file diff --git a/data/models-wp.php b/data/models-wp.php index f6ac6ab..dd9974a 100644 --- a/data/models-wp.php +++ b/data/models-wp.php @@ -110,6 +110,7 @@ '(Lumia ?|Nokia ?)?630!' => array( 'Nokia', 'Lumia 630' ), '(Lumia ?|Nokia ?)?635!' => array( 'Nokia', 'Lumia 635' ), '(Lumia ?|Nokia ?)?636!' => array( 'Nokia', 'Lumia 636' ), + '(Lumia ?|Nokia ?)?640 XL!' => array( 'Microsoft', 'Lumia 640 XL' ), '(Lumia ?|Nokia ?)?640!' => array( 'Microsoft', 'Lumia 640' ), '(Lumia ?|Nokia ?)?710!' => array( 'Nokia', 'Lumia 710' ), '(Lumia ?|Nokia ?)?719!' => array( 'Nokia', 'Lumia 719' ), diff --git a/data/profiles.php b/data/profiles.php index eefbbba..045c3c8 100644 --- a/data/profiles.php +++ b/data/profiles.php @@ -108,6 +108,7 @@ 'http://www-ccpp.tcl-ta.com/files/ALCATEL_one_touch_813.rdf' => array( 'Alcatel', 'One Touch 813', NULL, TYPE_MOBILE ), 'http://www-ccpp.tcl-ta.com/files/ALCATEL_one_touch_813A.rdf' => array( 'Alcatel', 'One Touch 813', NULL, TYPE_MOBILE ), 'http://www-ccpp.tcl-ta.com/files/ALCATEL_one_touch_813D.rdf' => array( 'Alcatel', 'One Touch 813', NULL, TYPE_MOBILE ), + 'http://www-ccpp.tcl-ta.com/files/ALCATEL_one_touch_813FA.rdf' => array( 'Alcatel', 'One Touch 813FA', NULL, TYPE_MOBILE ), 'http://www-ccpp.tcl-ta.com/files/ALCATEL_ONE_TOUCH_815.rdf' => array( 'Alcatel', 'One Touch 815', NULL, TYPE_MOBILE ), 'http://www-ccpp.tcl-ta.com/files/ALCATEL_one_touch_818A.rdf' => array( 'Alcatel', 'One Touch 818', NULL, TYPE_MOBILE ), 'http://www-ccpp.tcl-ta.com/files/ALCATEL_one_touch_819.rdf' => array( 'Alcatel', 'One Touch 819', NULL, TYPE_MOBILE ), @@ -522,6 +523,7 @@ 'http://www.bmobile.eu.com/uaprofile/UAProfile_BmobileAX620.xml' => array( 'Bmobile', 'AX620', 'Android', TYPE_MOBILE ), 'http://www.bmobile.eu.com/uaprofile/Bmobile_AX670.xml' => array( 'Bmobile', 'AX670', 'Android', TYPE_MOBILE ), 'http://www.bmobile.eu.com/uaprofile/BmobileAX745.xml' => array( 'Bmobile', 'AX745', 'Android', TYPE_MOBILE ), + 'http://www.bmobile.eu.com/uaprofile/Bmobile_AX810.xml' => array( 'Bmobile', 'AX810', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/Bouygues Telecom Bs 351.xml' => array( 'Bouygues', 'Bs 351', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/Bouygues_Telecom_Bs_402.xml' => array( 'Bouygues', 'Bs 402', 'Android', TYPE_MOBILE ), 'http://www-ccpp.tcl-ta.com/files/BS471.xml' => array( 'Bouygues', 'Bs 471', 'Android', TYPE_MOBILE ), @@ -788,6 +790,7 @@ 'http://device.sprintpcs.com/HTC/0PCV1-BOOST/1426521.rdf' => array( 'HTC', 'Desire 510', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/0PCV1-BOOST/1476521.rdf' => array( 'HTC', 'Desire 510', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/0PCV1-BOOST/1486522.rdf' => array( 'HTC', 'Desire 510', 'Android', TYPE_MOBILE ), + 'http://device.sprintpcs.com/HTC/0PCV1-BOOST/1496523.rdf' => array( 'HTC', 'Desire 510', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/0PCV1-Chameleon/1486522.rdf' => array( 'HTC', 'Desire 510', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/0PCV1-SPRINT/1426521.rdf' => array( 'HTC', 'Desire 510', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/0PCV1-SPRPRE/1486522.rdf' => array( 'HTC', 'Desire 510', 'Android', TYPE_MOBILE ), @@ -832,11 +835,13 @@ 'http://www.htcmms.com.tw/Android/TMO/HQEJRedmsG/ua-profile.xml' => array( 'HTC', 'Desire 610', 'Android', TYPE_MOBILE ), 'http://www.htcmms.com.tw/Android/Vodafone/HQEJRedmsG/ua-profile.xml' => array( 'HTC', 'Desire 610', 'Android', TYPE_MOBILE ), 'http://www.htcmms.com.tw/Android/Common/gwLkpXJlS0/ua-profile.xml' => array( 'HTC', 'Desire 616', 'Android', TYPE_MOBILE ), + 'http://www.htcmms.com.tw/Android/Common/LC7XQ0af2u/ua-profile.xml' => array( 'HTC', 'Desire 616', 'Android', TYPE_MOBILE ), 'http://nmsc.ctvap.cn/uaprof/HTC/HTC_619d_1_20130815.XML' => array( 'HTC', 'Desire 619d', 'Android', TYPE_MOBILE ), 'http://www.htcmms.com.tw/Android/Common/e1NGCirnFB/ua-profile.xml' => array( 'HTC', 'Desire 620', 'Android', TYPE_MOBILE ), 'http://www.htcmms.com.tw/Android/Common/rdV77sS2Jt/ua-profile.xml' => array( 'HTC', 'Desire 620G', 'Android', TYPE_MOBILE ), 'http://www.htcmms.com.tw/Android/Common/jpsQ9TJbx4/ua-profile.xml' => array( 'HTC', 'Desire 626', 'Android', TYPE_MOBILE ), 'http://www.htcmms.com.tw/Android/Common/vas6Y725FU/ua-profile.xml' => array( 'HTC', 'Desire 626', 'Android', TYPE_MOBILE ), + 'http://www.htcmms.com.tw/Android/Europe/EKgo2FnRlG/ua-profile.xml' => array( 'HTC', 'Desire 626G', 'Android', TYPE_MOBILE ), 'http://www.htcmms.com.tw/Android/Common/nn9cpSwLNa/ua-profile.xml' => array( 'HTC', 'Desire 7060', 'Android', TYPE_MOBILE ), 'http://www.htcmms.com.tw/Android/Common/mmxr4Fc9EJ/ua-profile.xml' => array( 'HTC', 'Desire 7088', 'Android', TYPE_MOBILE ), 'http://www.htcmms.com.tw/Android/Common/azxFLxeBCm/ua-profile.xml' => array( 'HTC', 'Desire 709d', 'Android', TYPE_MOBILE ), @@ -1045,6 +1050,7 @@ 'http://device.sprintpcs.com/HTC/HTCPN702-SPRINT/5036513.rdf' => array( 'HTC', 'One', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/HTCPN702-SPRINT/5056512.rdf' => array( 'HTC', 'One', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/HTCPN702-SPRINT/6166512.rdf' => array( 'HTC', 'One', 'Android', TYPE_MOBILE ), + 'http://device.sprintpcs.com/HTC/HTCPN702-SPRINT/62365110.rdf' => array( 'HTC', 'One', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/HTCPN702-SPRINT/6236516.rdf' => array( 'HTC', 'One', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/HTCPN702-SPRINT/6236517.rdf' => array( 'HTC', 'One', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/HTCPN702-SPRINT/Ava-OneV1//ALPHA1.rdf' => array( 'HTC', 'One', 'Android', TYPE_MOBILE ), @@ -1183,6 +1189,7 @@ 'http://www.htcmms.com.tw/Android/Vodafone/PPzlrbleWf/ua-profile.xml' => array( 'HTC', 'One (M8s)', 'Android', TYPE_MOBILE ), 'http://www.htcmms.com.tw/Android/Common/RBuZib3xtL/ua-profile.xml' => array( 'HTC', 'One (M9 Plus)', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/0PJA2-SPRINT/13265130.rdf' => array( 'HTC', 'One (M9)', 'Android', TYPE_MOBILE ), + 'http://device.sprintpcs.com/HTC/0PJA2-SPRINT/21165119.rdf' => array( 'HTC', 'One (M9)', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/0PJA2-SPRINT/2665111.rdf' => array( 'HTC', 'One (M9)', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/0PJA2-SPRINT/Bad Boyz Sprint ONE M9 v20.rdf' => array( 'HTC', 'One (M9)', 'Android', TYPE_MOBILE ), 'http://www.htcmms.com.tw/Android/ATT/xbKGNh1DoH/ua-profile.xml' => array( 'HTC', 'One (M9)', 'Android', TYPE_MOBILE ), @@ -1359,6 +1366,7 @@ 'http://www.htcmms.com.tw/gen/HermannC_BM-1.0.xml' => array( 'HTC', 'Touch Pro', 'Windows Mobile', TYPE_MOBILE ), 'http://www.htcmms.com.tw/gen/HTC_Touch_Pro_T7272-1.0.xml' => array( 'HTC', 'Touch Pro', 'Windows Mobile', TYPE_MOBILE ), 'http://www.htcmms.com.tw/gen/Raphael-1.0.xml' => array( 'HTC', 'Touch Pro', 'Windows Mobile', TYPE_MOBILE ), + 'http://www.htcmms.com.tw/swisscom/HTC_Touch_Pro-1.0.xml' => array( 'HTC', 'Touch Pro', 'Windows', ), 'http://www.htcmms.com.tw/voda/HTC_Touch_Pro-1.0.xml' => array( 'HTC', 'Touch Pro', 'Windows Mobile', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/PPCT7380SP/1216514.rdf' => array( 'HTC', 'Touch Pro 2', 'Windows Mobile', TYPE_MOBILE ), 'http://device.sprintpcs.com/HTC/PPCT7380SP/2046514.rdf' => array( 'HTC', 'Touch Pro 2', 'Windows Mobile', TYPE_MOBILE ), @@ -1532,6 +1540,7 @@ 'http://wap1.huawei.com/uaprof/HW_HUAWEI_G730-C00_20130826.xml' => array( 'Huawei', 'Ascend G730', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HW_HUAWEI_G730-C10_1_20130828.xml' => array( 'Huawei', 'Ascend G730', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HW_HUAWEI_G730-L075.xml' => array( 'Huawei', 'Ascend G730', 'Android', TYPE_MOBILE ), + 'http://wap1.huawei.com/uaprof/HUAWEI_G735-L23_UAProfile.xml' => array( 'Huawei', 'Ascend G735', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HuaweiG740-L00LTE-DRM.xml' => array( 'Huawei', 'Ascend G740', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HuaweiG740-L00LTE-Normal.xml' => array( 'Huawei', 'Ascend G740', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HUAWEI_G750-T01_UAProfile.xml' => array( 'Huawei', 'Ascend G750', 'Android', TYPE_MOBILE ), @@ -1713,6 +1722,7 @@ 'http://wap1.huawei.com/uaprof/HuaweiY600-U20_UAProfile.xml' => array( 'Huawei', 'Ascend Y600', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HuaweiY600-U40_UAProfile.xml' => array( 'Huawei', 'Ascend Y600', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HuaweiY610-U00_UAProfile.xml' => array( 'Huawei', 'Ascend Y610', 'Android', TYPE_MOBILE ), + 'http://wap1.huawei.com/uaprof/HUAWEI_Y625_U13_UAProfile.xml' => array( 'Huawei', 'Ascend Y625', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HUAWEI_Y625_U21_UAProfile.xml' => array( 'Huawei', 'Ascend Y625', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HUAWEI_Y625_U51_UAProfile.xml' => array( 'Huawei', 'Ascend Y625', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HUAWEI_Y635-L01_UAProfile.xml' => array( 'Huawei', 'Ascend Y635', 'Android', TYPE_MOBILE ), @@ -1720,6 +1730,7 @@ 'http://wap1.huawei.com/uaprof/HUAWEI_Y635-L01_UAProfile_TME.xml' => array( 'Huawei', 'Ascend Y635', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HUAWEI_Y635-L02_UAProfile_DRM.xml' => array( 'Huawei', 'Ascend Y635', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HUAWEI_Y635-L03_UAProfile_DRM.xml' => array( 'Huawei', 'Ascend Y635', 'Android', TYPE_MOBILE ), + 'http://wap1.huawei.com/uaprof/HUAWEI_Y635-L21_UAProfile_EUROPE.xml' => array( 'Huawei', 'Ascend Y635', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HW_HUAWEI_Y635-CL00_1_20140930.xml' => array( 'Huawei', 'Ascend Y635', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HW_HUAWEI_B199.xml' => array( 'Huawei', 'B199', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HW_HUAWEI_B199_1_20130806.xml' => array( 'Huawei', 'B199', 'Android', TYPE_MOBILE ), @@ -1797,10 +1808,12 @@ 'http://wap1.huawei.com/uaprof/HONOR_Che1-L04_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HONOR_Che2-L11_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HONOR_Che2-L12_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), + 'http://wap1.huawei.com/uaprof/HONOR_Che2-L23_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HONOR_Che2-TL00M_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HONOR_Che2-TL00_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HONOR_Che2-UL00_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HUAWEI_CHE-TL00H_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), + 'http://wap1.huawei.com/uaprof/HUAWEI_CHE-TL00_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HUAWEI_Che1-CL10_5.1_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HUAWEI_Che2-L23_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HUAWEI_Che2-UL00_UAProfile.xml' => array( 'Huawei', 'Honor 4X', 'Android', TYPE_MOBILE ), @@ -1823,6 +1836,7 @@ 'http://wap1.huawei.com/uaprof/HW_HUAWEI_E100-CL00_1_20141103.xml' => array( 'Huawei', 'Honor 6 Plus', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HW_PE-CL00_1_20141225.xml' => array( 'Huawei', 'Honor 6 Plus', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HUAWEI_CHM-TL00_UAProfile.xml' => array( 'Huawei', 'Honor Play 4C', 'Android', TYPE_MOBILE ), + 'http://wap1.huawei.com/uaprof/HUAWEI_CHM-U01_Russia_UAProfile.xml' => array( 'Huawei', 'Honor Play 4C', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HW_HUAWEI_C8950D_1_20120704.xml' => array( 'Huawei', 'Honor+', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HuaweiU8150v100WCDMA.xml' => array( 'Huawei', 'IDEOS', 'Android', TYPE_MOBILE ), 'http://wap.huawei.com/uaprof/Huawei-S7.xml' => array( 'Huawei', 'IDEOS S7', 'Android', TYPE_MOBILE ), @@ -2087,6 +2101,7 @@ 'http://nmsc.ctvap.cn/uaprof/JC/JC_KSP8000_3_20111228.xml' => array( 'Kyocera', 'Echo', 'Android', TYPE_MOBILE ), 'http://nmsc.ctvap.cn/uaprof/JC/JC_KSP8000_3_20120209.xml' => array( 'Kyocera', 'Echo', 'Android', TYPE_MOBILE ), 'http://nmsc.ctvap.cn/uaprof/JC/JC_KSP8000_4_20120308.xml' => array( 'Kyocera', 'Echo', 'Android', TYPE_MOBILE ), + 'http://device.sprintpcs.com/KYOCERA/C5133-2012102201/1.020VM.rdf' => array( 'Kyocera', 'Event', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/KYOCERA/C5133-Chameleon/latest' => array( 'Kyocera', 'Event', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/KYOCERA/C5133-VIRGIN/1.005VM.rdf' => array( 'Kyocera', 'Event', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/KYOCERA/C5133-VIRGIN/1.010VM.rdf' => array( 'Kyocera', 'Event', 'Android', TYPE_MOBILE ), @@ -2342,9 +2357,11 @@ 'http://gsm.lge.com/html/gsm/LG-CB630.xml' => array( 'LG', 'CB630 Invision', NULL, TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-CE110.xml' => array( 'LG', 'CE110', NULL, TYPE_MOBILE ), 'http://uaprof.metropcs.net/UAProf/LG-MS840.xml' => array( 'LG', 'Connect 4G', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/LG-T300-M3-D1-NS.xml' => array( 'LG', 'Cookie Light T300', NULL, TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-CT810.xml' => array( 'LG', 'CT810 Incite', NULL, TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-CU320.xml' => array( 'LG', 'CU320', NULL, TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-CU920.xml' => array( 'LG', 'CU920 Vu', NULL, TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/_ogUJjFY_IgTaMCN/LGL21G-M10-D1.xml' => array( 'LG', 'Destiny', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/C729-M10-D1.xml' => array( 'LG', 'DoublePlay', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-E300-M3-D1.xml' => array( 'LG', 'E300', NULL, TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/C800G-M10-D1.xml' => array( 'LG', 'Eclypse', 'Android', TYPE_MOBILE ), @@ -2416,6 +2433,7 @@ 'http://device.sprintpcs.com/LG/LK430-Chameleon/latest' => array( 'LG', 'G Pad F 7.0', 'Android', TYPE_TABLET ), 'http://device.sprintpcs.com/LG/LK430-SPRINT/LK430ZV3.rdf' => array( 'LG', 'G Pad F 7.0', 'Android', TYPE_TABLET ), 'http://gsm.lge.com/html/gsm/iBpgg_0u_ASxAV_F/V495-D1.xml' => array( 'LG', 'G Pad F 7.0', 'Android', TYPE_TABLET ), + 'http://gsm.lge.com/html/gsm/_-0_bP_4P_s73ov-/V930-D1.xml' => array( 'LG', 'G Pad X 10.1', 'Android', TYPE_TABLET ), 'http://gsm.lge.com/html/gsm/D830-M3-D1.xml' => array( 'LG', 'G Pro 2', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/D838-M3-D1-KK.xml' => array( 'LG', 'G Pro 2', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/D838-M3-D1.xml' => array( 'LG', 'G Pro 2', 'Android', TYPE_MOBILE ), @@ -2600,6 +2618,7 @@ 'http://gsm.lge.com/html/gsm/D722AR-M3-D1.xml' => array( 'LG', 'G3 S', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/D690-M3-D1.xml' => array( 'LG', 'G3 Stylus', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/D690n-M3-D1.xml' => array( 'LG', 'G3 Stylus', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/D693-M3-D1.xml' => array( 'LG', 'G3 Stylus', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/D693n-M10-D1.xml' => array( 'LG', 'G3 Stylus', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/D693n-M3-D1.xml' => array( 'LG', 'G3 Stylus', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/D693TR-M5-D1.xml' => array( 'LG', 'G3 Stylus', 'Android', TYPE_MOBILE ), @@ -2623,10 +2642,19 @@ 'http://gsm.lge.com/html/gsm/YSdHbanpHC5h2R_E/H818-M3-D1.xml' => array( 'LG', 'G4', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/YSdHbanpHC5h2R_E/H818-M4-D1.xml' => array( 'LG', 'G4', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/YSdHbanpHC5h2R_E/H818-M5-D1.xml' => array( 'LG', 'G4', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/-pBWguyi4C2qxxHn/H540-M3-D1.xml' => array( 'LG', 'G4 Stylus', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/-pBWguyi4C2qxxHn/H540-M4-D1.xml' => array( 'LG', 'G4 Stylus', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/b7_gceeg_u9fMBZq/H630D-M3-D1.xml' => array( 'LG', 'G4 Stylus', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/b7_gceeg_u9fMBZq/H635-M3-D1.xml' => array( 'LG', 'G4 Stylus', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/H540-M3-D1.xml' => array( 'LG', 'G4 Stylus', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/MX_LG_G4015.xml' => array( 'LG', 'G4015', NULL, TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-G4020.xml' => array( 'LG', 'G4020', NULL, TYPE_MOBILE ), 'http://fr.lge.com/gsm/LG-G4050.xml' => array( 'LG', 'G4050', NULL, TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/3p7OIw-_p_OSTTKo/H735-M10-D1.xml' => array( 'LG', 'G4s', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/3p7OIw-_p_OSTTKo/H735-M3-D1.xml' => array( 'LG', 'G4s', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/3p7OIw-_p_OSTTKo/H735-M5-D1.xml' => array( 'LG', 'G4s', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/3p7OIw-_p_OSTTKo/H736-M3-D1.xml' => array( 'LG', 'G4s', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/AK1bQ_G8_-S9ccPj/H736-M3-D1.xml' => array( 'LG', 'G4s', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-G5400.xml' => array( 'LG', 'G5400', NULL, TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-G650.xml' => array( 'LG', 'G650', NULL, TYPE_MOBILE ), 'http://fr.lge.com/gsm/LG-G7050.xml' => array( 'LG', 'G7050', NULL, TYPE_MOBILE ), @@ -2663,6 +2691,7 @@ 'http://gsm.lge.com/html/gsm/H220-M5-D1.xml' => array( 'LG', 'Joy', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/JMVnyLlmw2NR0pk1/H220-M3-D1.xml' => array( 'LG', 'Joy', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/JMVnyLlmw2NR0pk1/H220-M5-D1.xml' => array( 'LG', 'Joy', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/JMVnyLlmw2NR0pk1/H221AR-M3-D1.xml' => array( 'LG', 'Joy', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/JMVnyLlmw2NR0pk1/H222-M3-D1.xml' => array( 'LG', 'Joy', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-KB770-VDF3G.xml' => array( 'LG', 'KB770', NULL, TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-KC550.xml' => array( 'LG', 'KC550', NULL, TYPE_MOBILE ), @@ -2749,6 +2778,7 @@ 'http://gsm.lge.com/html/gsm/D335-M3-D1.xml' => array( 'LG', 'L Bello', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/D337-M3-D1.xml' => array( 'LG', 'L Bello', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/RNTp_ElEPgL_QrBQ/D335-M3-D1.xml' => array( 'LG', 'L Bello', 'Android', TYPE_MOBILE ), + 'http://gsm.lge.com/html/gsm/U_EOJw1JxwmQJceD/31-M10-D1.xml' => array( 'LG', 'L Bello', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/U_EOJw1JxwmQJceD/D335-M3-D1.xml' => array( 'LG', 'L Bello', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/U_EOJw1JxwmQJceD/D335E-M3-D1.xml' => array( 'LG', 'L Bello', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/D290-M3-D1.xml' => array( 'LG', 'L Fino', 'Android', TYPE_MOBILE ), @@ -3300,6 +3330,7 @@ 'http://device.sprintpcs.com/LG/LS660-VIRGIN/LS660ZV3.rdf' => array( 'LG', 'Tribute', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/LG/LS660-VIRGIN/LS660ZV4.rdf' => array( 'LG', 'Tribute', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/LG/LS660-VIRGIN/LS660ZV5.rdf' => array( 'LG', 'Tribute', 'Android', TYPE_MOBILE ), + 'http://device.sprintpcs.com/LG/LS660-VIRGIN/LS660ZV6.rdf' => array( 'LG', 'Tribute', 'Android', TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-TU575.xml' => array( 'LG', 'TU575', NULL, TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-TU720.xml' => array( 'LG', 'TU720 Shine', NULL, TYPE_MOBILE ), 'http://gsm.lge.com/html/gsm/LG-TU915.xml' => array( 'LG', 'TU915 Vu', NULL, TYPE_MOBILE ), @@ -4656,6 +4687,7 @@ 'http://www-ccpp.tcl-ta.com/files/Orange_Hiro.xml' => array( 'Orange', 'Hiro', 'Android', TYPE_MOBILE ), 'http://www-ccpp.tcl-ta.com/files/Orange_infinity_996.xml' => array( 'Orange', 'Infinity 996', 'Android', TYPE_MOBILE ), 'http://www-ccpp.tcl-ta.com/files/Infinity_X.xml' => array( 'Orange', 'Infinity X', 'Android', TYPE_MOBILE ), + 'http://www-ccpp.tcl-ta.com/files/Orange_KLIF.xml' => array( 'Orange', 'Kilf', 'Firefox OS', TYPE_MOBILE ), 'http://www-ccpp.tcl-ta.com/files/Orange_KLIFD.xml' => array( 'Orange', 'Kilf', 'Firefox OS', TYPE_MOBILE ), 'http://www-ccpp.tcl-ta.com/files/Orange-Kivo.xml' => array( 'Orange', 'Kivo', 'Android', TYPE_MOBILE ), 'http://wap1.huawei.com/uaprof/HuaweiY330-U01-OrangeLuno.xml' => array( 'Orange', 'Luno', 'Android', TYPE_MOBILE ), @@ -5339,6 +5371,7 @@ 'http://wap.samsungmobile.com/uaprof/GT-C3330UAProf.xml' => array( 'Samsung', 'Champ 2', 'Touchwiz', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-C3332UAProf.xml' => array( 'Samsung', 'Champ 2', 'Touchwiz', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-S3770L_2G.xml' => array( 'Samsung', 'Champ 3G', 'Touchwiz', TYPE_MOBILE ), + 'http://wap.samsungmobile.com/uaprof/GT-S3770L_3G.xml' => array( 'Samsung', 'Champ 3G', 'Touchwiz', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-S3770M_2G.xml' => array( 'Samsung', 'Champ 3G', 'Touchwiz', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-S3770M_3G.xml' => array( 'Samsung', 'Champ 3G', 'Touchwiz', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-S3770_2G.rdf' => array( 'Samsung', 'Champ 3G', 'TouchWiz', TYPE_MOBILE ), @@ -5510,6 +5543,7 @@ 'http://wap.samsungmobile.com/uaprof/SM-G386T.xml' => array( 'Samsung', 'Galaxy Core', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-G386T1.xml' => array( 'Samsung', 'Galaxy Core', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-G386W.xml' => array( 'Samsung', 'Galaxy Core', 'Android', TYPE_MOBILE ), + 'http://wap.samsungmobile.com/uaprof/SM-G386WMTA.xml' => array( 'Samsung', 'Galaxy Core', 'Android', TYPE_MOBILE ), 'http://nmsc.ctvap.cn/uaprof/SCH/SCH_SM-G3559_1_20140420.xml' => array( 'Samsung', 'Galaxy Core 2', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-G355H.xml' => array( 'Samsung', 'Galaxy Core 2', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-G355HN.xml' => array( 'Samsung', 'Galaxy Core 2', 'Android', TYPE_MOBILE ), @@ -5604,6 +5638,7 @@ 'http://wap.samsungmobile.com/uaprof/SM-G530M.xml' => array( 'Samsung', 'Galaxy Grand Prime', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-G530MU.xml' => array( 'Samsung', 'Galaxy Grand Prime', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-G530T.xml' => array( 'Samsung', 'Galaxy Grand Prime', 'Android', TYPE_MOBILE ), + 'http://wap.samsungmobile.com/uaprof/SM-G530T1.xml' => array( 'Samsung', 'Galaxy Grand Prime', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-G530W.xml' => array( 'Samsung', 'Galaxy Grand Prime', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-G531H.xml' => array( 'Samsung', 'Galaxy Grand Prime VE', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-G531M.xml' => array( 'Samsung', 'Galaxy Grand Prime VE', 'Android', TYPE_MOBILE ), @@ -5614,6 +5649,7 @@ 'http://wap.samsungmobile.com/uaprof/SM-J100ML.xml' => array( 'Samsung', 'Galaxy J1', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-J100MU.xml' => array( 'Samsung', 'Galaxy J1', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-J100Y.xml' => array( 'Samsung', 'Galaxy J1', 'Android', TYPE_MOBILE ), + 'http://wap.samsungmobile.com/uaprof/SM-J110M.xml' => array( 'Samsung', 'Galaxy J1 Ace', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-J500G.xml' => array( 'Samsung', 'Galaxy J5', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-J500H.xml' => array( 'Samsung', 'Galaxy J5', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-J500M.xml' => array( 'Samsung', 'Galaxy J5', 'Android', TYPE_MOBILE ), @@ -5786,6 +5822,7 @@ 'http://device.sprintpcs.com/Samsung/SPH-L900-SPRINT/MK4.rdf' => array( 'Samsung', 'Galaxy Note II', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SPH-L900-SPRINT/NE2.rdf' => array( 'Samsung', 'Galaxy Note II', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SPH-L900-SPRINT/NK2.rdf' => array( 'Samsung', 'Galaxy Note II', 'Android', TYPE_MOBILE ), + 'http://device.sprintpcs.com/Samsung/SPH-L900-SPRINT/OH3.rdf' => array( 'Samsung', 'Galaxy Note II', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SPH-L900/MC2.rdf' => array( 'Samsung', 'Galaxy Note II', 'Android', TYPE_MOBILE ), 'http://nmsc.ctvap.cn/uaprof/SCH/SCH_N719_1_20121012.xml' => array( 'Samsung', 'Galaxy Note II', 'Android', TYPE_MOBILE ), 'http://uaprof.vtext.com/sam/SCH-I605/SCH-I605.xml' => array( 'Samsung', 'Galaxy Note II', 'Android', TYPE_MOBILE ), @@ -5997,6 +6034,7 @@ 'http://device.sprintpcs.com/Samsung/SPH-L710T-BOOST/NF4.rdf' => array( 'Samsung', 'Galaxy S III', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SPH-L710T-BOOST/OA3.rdf' => array( 'Samsung', 'Galaxy S III', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SPH-L710T-BOOST/OF2.rdf' => array( 'Samsung', 'Galaxy S III', 'Android', TYPE_MOBILE ), + 'http://device.sprintpcs.com/Samsung/SPH-L710T-BOOST/OH1.rdf' => array( 'Samsung', 'Galaxy S III', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SPH-L710T-SPRINT/NE5.rdf' => array( 'Samsung', 'Galaxy S III', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SPH-L710T-SPRINT/OA3.rdf' => array( 'Samsung', 'Galaxy S III', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SPH-L710T-SPRPRE/NF4.rdf' => array( 'Samsung', 'Galaxy S III', 'Android', TYPE_MOBILE ), @@ -6215,6 +6253,7 @@ 'http://device.sprintpcs.com/Samsung/SM-G920P-BOOST/OCF.rdf' => array( 'Samsung', 'Galaxy S6', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SM-G920P-BOOST/OE2.rdf' => array( 'Samsung', 'Galaxy S6', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SM-G920P-Chameleon/latest' => array( 'Samsung', 'Galaxy S6', 'Android', TYPE_MOBILE ), + 'http://device.sprintpcs.com/Samsung/SM-G920P-MVNO/OE2.rdf' => array( 'Samsung', 'Galaxy S6', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SM-G920P-SPRINT/OC9.rdf' => array( 'Samsung', 'Galaxy S6', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SM-G920P-SPRINT/OCF.rdf' => array( 'Samsung', 'Galaxy S6', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SM-G920P-SPRINT/OE2.rdf' => array( 'Samsung', 'Galaxy S6', 'Android', TYPE_MOBILE ), @@ -6259,6 +6298,7 @@ 'http://wap.samsungmobile.com/uaprof/GT-S5280.xml' => array( 'Samsung', 'Galaxy Star', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-S5282.xml' => array( 'Samsung', 'Galaxy Star', 'Android', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-S7262.xml' => array( 'Samsung', 'Galaxy Star Pro', 'Android', TYPE_MOBILE ), + 'http://wap.samsungmobile.com/uaprof/SM-S766C.xml' => array( 'Samsung', 'Galaxy Stardust', 'Android', TYPE_MOBILE ), 'http://uaprof.vtext.com/sam/SCH-I200/SCH-I200.xml' => array( 'Samsung', 'Galaxy Stellar', 'Android', TYPE_MOBILE ), 'http://device.sprintpcs.com/Samsung/SPH-P100/EA24.rdf' => array( 'Samsung', 'Galaxy Tab', 'Android', TYPE_TABLET ), 'http://device.sprintpcs.com/Samsung/SPH-P100/EF17.rdf' => array( 'Samsung', 'Galaxy Tab', 'Android', TYPE_TABLET ), @@ -6503,6 +6543,7 @@ 'http://wap.samsungmobile.com/uaprof/GT-C3322.xml' => array( 'Samsung', 'GT-C3322 Duos', NULL, TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-C3322iUAProf.xml' => array( 'Samsung', 'GT-C3322 Duos', NULL, TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-C3380UAProf.xml' => array( 'Samsung', 'GT-C3380', NULL, TYPE_MOBILE ), + 'http://wap.samsungmobile.com/uaprof/GT-C3520.xml' => array( 'Samsung', 'GT-C3520', NULL, TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-C3530UAProf.xml' => array( 'Samsung', 'GT-C3530', NULL, TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-C3560UAProf.xml' => array( 'Samsung', 'GT-C3560', NULL, TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-C3590UAProf.xml' => array( 'Samsung', 'GT-C3590', NULL, TYPE_MOBILE ), @@ -6591,6 +6632,8 @@ 'http://wap.samsungmobile.com/uaprof/S3310.rdf' => array( 'Samsung', 'Metro', NULL, TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-E2252.xml' => array( 'Samsung', 'Metro 2252', NULL, TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-B312EUAProf.xml' => array( 'Samsung', 'Metro 312', NULL, TYPE_MOBILE ), + 'http://wap.samsungmobile.com/uaprof/SM-B313E.xml' => array( 'Samsung', 'Metro 313', NULL, TYPE_MOBILE ), + 'http://wap.samsungmobile.com/uaprof/SM-B350E.xml' => array( 'Samsung', 'Metro 350', NULL, TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SM-B360E.xml' => array( 'Samsung', 'Metro 360', NULL, TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SGH-i780.xml' => array( 'Samsung', 'Mirage', 'Windows Mobile', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/SGH-i780ORANGE.xml' => array( 'Samsung', 'Mirage', 'Windows Mobile', TYPE_MOBILE ), @@ -7231,6 +7274,7 @@ 'http://wap.samsungmobile.com/uaprof/GT-S5220UAProf.xml' => array( 'Samsung', 'Star 3', 'Touchwiz', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-S5222BR.xml' => array( 'Samsung', 'Star 3 Duos', 'Touchwiz', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-S5222UAProf.xml' => array( 'Samsung', 'Star 3 Duos', 'Touchwiz', TYPE_MOBILE ), + 'http://wap.samsungmobile.com/uaprof/GT-S5603.rdf' => array( 'Samsung', 'Star 3G', 'TouchWiz', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-S5292UAProf.xml' => array( 'Samsung', 'Star Deluxe Duos', 'Touchwiz', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-B7722_2G.rdf' => array( 'Samsung', 'Star Duos', 'Touchwiz', TYPE_MOBILE ), 'http://wap.samsungmobile.com/uaprof/GT-B7722_3G.rdf' => array( 'Samsung', 'Star Duos', 'Touchwiz', TYPE_MOBILE ), @@ -7576,6 +7620,7 @@ 'http://uaprof.sonymobile.com/XM50hR1912.xml' => array( 'Sony', 'Xperia T2 Ultra', 'Android', TYPE_MOBILE ), 'http://uaprof.sonymobile.com/XM50tR1903.xml' => array( 'Sony', 'Xperia T2 Ultra', 'Android', TYPE_TABLET ), 'http://uaprof.sonymobile.com/D5322R1912.xml' => array( 'Sony', 'Xperia T2 Ultra dual', 'Android', TYPE_MOBILE ), + 'http://uaprof.sonymobile.com/XM50hR1903.xml' => array( 'Sony', 'Xperia T2 Ultra dual', 'Android', TYPE_MOBILE ), 'http://uaprof.sonymobile.com/D5103R1801.xml' => array( 'Sony', 'Xperia T3', 'Android', TYPE_MOBILE ), 'http://uaprof.sonymobile.com/D5106R1801.xml' => array( 'Sony', 'Xperia T3', 'Android', TYPE_MOBILE ), 'http://uaprof.sonymobile.com/M50wR1801.xml' => array( 'Sony', 'Xperia T3', 'Android', TYPE_MOBILE ), @@ -8224,10 +8269,14 @@ 'http://download.api.vivoglobal.com/pro/UA/vivo_Y15.xml' => array( 'Vivo', 'Y15', 'Android', TYPE_MOBILE ), 'http://www.msai.in/uaprof/vivo/vivo-Y15.xml' => array( 'Vivo', 'Y15', 'Android', TYPE_MOBILE ), 'http://download.api.vivoglobal.com/pro/UA/vivo_Y22.xml' => array( 'Vivo', 'Y22', 'Android', TYPE_MOBILE ), + 'http://www.msai.in/uaprof/vivo/vivo-Y22.xml' => array( 'Vivo', 'Y22', 'Android', TYPE_MOBILE ), 'http://download.api.vivoglobal.com/pro/UA/vivo_Y28.xml' => array( 'Vivo', 'Y28', 'Android', TYPE_MOBILE ), 'http://www.msai.in/uaprof/vivo/vivo_Y28.xml' => array( 'Vivo', 'Y28', 'Android', TYPE_MOBILE ), + 'http://download.api.vivoglobal.com/pro/UA/vivo_Y35.xml' => array( 'Vivo', 'Y35', 'Android', TYPE_MOBILE ), 'http://wap1.mtk.com.tw/MTK_Phone_JB_UAprofile.xml' => array( 'Vivo', 'Y613', 'Android', TYPE_MOBILE ), 'http://download0.inner.bbk.com/pro/VIV_vivo_Y913_1_20140922.xml' => array( 'Vivo', 'Y913', 'Android', TYPE_MOBILE ), + 'http://download0.vivo.com.cn/pro/browser/VIV_vivo_Y923_1_20150319.xml' => array( 'Vivo', 'Y923', 'Android', TYPE_MOBILE ), + 'http://download0.vivo.com.cn/pro/browser/VIV_vivo_Y937_1_20150701.xml' => array( 'Vivo', 'Y937', 'Android', TYPE_MOBILE ), 'http://wap.vkmobile.com/uaprof/vk5000.xml' => array( 'VK Mobile', 'VK5000', NULL, TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/Vodafone-1231.xml' => array( 'Vodafone', '1231', NULL, TYPE_MOBILE ), 'http://uaprofile.asus.com/uaprof/Vodafone1520-1.0.xml' => array( 'Vodafone', '1520', NULL, TYPE_MOBILE ), @@ -8311,6 +8360,7 @@ 'http://211.42.201.70/ua_profile/ZMEM1075.xml' => array( 'Zonda', 'ZMEM1075', NULL, TYPE_MOBILE ), 'http://211.42.201.70/ua_profile/ZMEM1085.xml' => array( 'Zonda', 'ZMEM1085', NULL, TYPE_MOBILE ), 'http://profile.aiko.com.br/aiko70w.xml' => array( 'ZTE', '70W', NULL, TYPE_MOBILE ), + 'http://www.zte.com.cn/mobile/uaprof/ZTE A2015.xml' => array( 'ZTE', 'A2015', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/A3.xml' => array( 'ZTE', 'A3', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/ZTEA37.xml' => array( 'ZTE', 'A37', NULL, TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/A4.xml' => array( 'ZTE', 'A4', 'Android', TYPE_MOBILE ), @@ -8328,6 +8378,7 @@ 'http://www.zte.com.cn/mobile/uaprof/ZTE Blade III Pro.xml' => array( 'ZTE', 'Blade III Pro', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/ZTE_Blade_L2.xml' => array( 'ZTE', 'Blade L2', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/ZTE_Blade_L2_4.4.xml' => array( 'ZTE', 'Blade L2', 'Android', TYPE_MOBILE ), + 'http://www.zte.com.cn/mobile/uaprof/Blade L2 Plus.xml' => array( 'ZTE', 'Blade L2 Plus', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/ZTE_Blade_L3.xml' => array( 'ZTE', 'Blade L3', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/ZTE_Blade_Q.xml' => array( 'ZTE', 'Blade Q', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/ZTE_Blade_Q_Lux.xml' => array( 'ZTE', 'Blade Q Lux', 'Android', TYPE_MOBILE ), @@ -8624,6 +8675,7 @@ 'http://www.zte.com.cn/mobile/uaprof/Z788G.xml' => array( 'ZTE', 'Z788', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/Z791G.xml' => array( 'ZTE', 'Z791G', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/Z792.xml' => array( 'ZTE', 'Z792', 'Android', TYPE_MOBILE ), + 'http://uaprof.vtext.com/zte/wsz793c/wsz793c.xml' => array( 'ZTE', 'Z793C', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/Z795G.xml' => array( 'ZTE', 'Z795 Solar', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/Z812.xml' => array( 'ZTE', 'Z812 Maven', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/Z813.xml' => array( 'ZTE', 'Z813', 'Android', TYPE_MOBILE ), @@ -8631,6 +8683,7 @@ 'http://www.zte.com.cn/mobile/uaprof/Z830.xml' => array( 'ZTE', 'Z830', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/Z930L.xml' => array( 'ZTE', 'Z930 Unico', 'Android', TYPE_MOBILE ), 'http://uaprof.vtext.com/zte/wsz932l/wsz932l.xml' => array( 'ZTE', 'Z932', 'Android', TYPE_MOBILE ), + 'http://uaprof.vtext.com/zte/wsz936l/wsz936l.xml' => array( 'ZTE', 'Z936 Lever', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/Z955L.xml' => array( 'ZTE', 'Z955L', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/Z970.xml' => array( 'ZTE', 'Z970', 'Android', TYPE_MOBILE ), 'http://www.zte.com.cn/mobile/uaprof/ZTE_V970.xml' => array( 'ZTE', 'Z970 Grand X', 'Android', TYPE_MOBILE ), diff --git a/libraries/whichbrowser.php b/libraries/whichbrowser.php index d0f90c5..24a767e 100644 --- a/libraries/whichbrowser.php +++ b/libraries/whichbrowser.php @@ -920,7 +920,7 @@ function analyseUserAgent($ua) { * Windows */ - if (preg_match('/Windows/u', $ua)) { + if (preg_match('/Windows/u', $ua) || preg_match('/Win[9MX]/u', $ua)) { $this->os->name = 'Windows'; $this->device->type = TYPE_DESKTOP; @@ -1041,7 +1041,7 @@ function analyseUserAgent($ua) { } /* Windows Phone OS 7 and 8 */ - if (preg_match('/IEMobile\/[^;]+;(?: ARM; Touch; )?\s*([^;\s][^;]*);\s*([^;\)\s][^;\)]*)[;|\)]/u', $ua, $match)) { + if (preg_match('/IEMobile\/[^;]+;(?: ARM; Touch; )?(?: WpsLondonTest; )?\s*([^;\s][^;]*);\s*([^;\)\s][^;\)]*)[;|\)]/u', $ua, $match)) { $this->device->manufacturer = $match[1]; $this->device->model = $match[2]; $this->device->identified |= ID_PATTERN; @@ -1186,7 +1186,7 @@ function analyseUserAgent($ua) { $this->device->model = $match[1]; } - else if (preg_match('/; ?([^;]*[^;\s])\s+Build/u', $ua, $match)) { + else if (preg_match('/; ?([^;]*[^;\s])\s+[Bb]uild/u', $ua, $match)) { $this->device->model = $match[1]; } @@ -1194,7 +1194,7 @@ function analyseUserAgent($ua) { $this->device->model = $match[1]; } - else if (preg_match('/[a-zA-Z][a-zA-Z](?:[-_][a-zA-Z][a-zA-Z])?; ([^;]*[^;\s]);\s+Build/u', $ua, $match)) { + else if (preg_match('/[a-zA-Z][a-zA-Z](?:[-_][a-zA-Z][a-zA-Z])?; ([^;]*[^;\s])\s?;\s+[Bb]uild/u', $ua, $match)) { $this->device->model = $match[1]; } @@ -1814,6 +1814,10 @@ function analyseUserAgent($ua) { if (preg_match('/BREW/ui', $ua) || preg_match('/BMP( [0-9.]*)?; U/u', $ua) || preg_match('/BMP\/([0-9.]*)/u', $ua)) { $this->os->name = 'Brew'; + if (preg_match('/; Brew ([0-9.]*);/iu', $ua, $match)) { + $this->os->version = new Version(array('value' => $match[1])); + } + if (preg_match('/BREW; U; ([0-9.]*)/iu', $ua, $match)) { $this->os->version = new Version(array('value' => $match[1])); } @@ -1867,7 +1871,7 @@ function analyseUserAgent($ua) { * MTK */ - if (preg_match('/\(MTK;/u', $ua)) { + if (preg_match('/\(MTK;/u', $ua) || preg_match('/\/MTK /u', $ua)) { $this->os->name = 'MTK'; $this->device->type = TYPE_MOBILE; } @@ -2008,6 +2012,17 @@ function analyseUserAgent($ua) { * Palm OS */ + if (preg_match('/PalmOS/iu', $ua, $match)) { + $this->os->name = 'Palm OS'; + $this->device->type = TYPE_MOBILE; + } + + if (preg_match('/Palm OS ([0-9.]*)/iu', $ua, $match)) { + $this->os->name = 'Palm OS'; + $this->os->version = new Version(array('value' => $match[1])); + $this->device->type = TYPE_MOBILE; + } + if (preg_match('/PalmSource/u', $ua, $match)) { $this->os->name = 'Palm OS'; $this->os->version = null; @@ -2238,6 +2253,16 @@ function analyseUserAgent($ua) { $this->device->generic = false; } + if (preg_match('/Nintendo DS/u', $ua)) { + $this->os->name = ''; + + $this->device->manufacturer = 'Nintendo'; + $this->device->model = 'DS'; + $this->device->type = TYPE_GAMING; + $this->device->identified |= ID_MATCH_UA; + $this->device->generic = false; + } + if (preg_match('/Nintendo DSi/u', $ua)) { $this->os->name = ''; @@ -2346,9 +2371,6 @@ function analyseUserAgent($ua) { $this->device->type = TYPE_GAMING; $this->device->identified |= ID_MATCH_UA; $this->device->generic = false; - - if (isset($this->browser->name) && $this->browser->name == 'Mobile Internet Explorer') - $this->browser->name = 'Internet Explorer'; } if (preg_match('/Xbox One\)$/u', $ua, $match)) { @@ -2360,9 +2382,6 @@ function analyseUserAgent($ua) { $this->device->type = TYPE_GAMING; $this->device->identified |= ID_MATCH_UA; $this->device->generic = false; - - if (isset($this->browser->name) && $this->browser->name == 'Mobile Internet Explorer') - $this->browser->name = 'Internet Explorer'; } /**************************************************** @@ -2507,14 +2526,20 @@ function analyseUserAgent($ua) { } } - if (preg_match('/(?:HbbTV|SmartTV)\/[0-9\.]+ \(/u', $ua, $match)) { + if (preg_match('/(?:HbbTV|SmartTV)\/[0-9\.]+ \(/iu', $ua, $match)) { $this->device->type = TYPE_TELEVISION; $found = false; - if (preg_match('/HbbTV\/[0-9\.]+ \([^;]*;\s*([^;]*)\s*;\s*([^;]*)\s*;/u', $ua, $match)) { - $vendorName = Manufacturers::identify(TYPE_TELEVISION, $match[1]); - $modelName = trim($match[2]); + if (preg_match('/HbbTV\/[0-9\.]+ \(([^;]*);\s*([^;]*)\s*;\s*([^;]*)\s*;/u', $ua, $match)) { + if (trim($match[1]) == "" || trim($match[1]) == "PVR" || strpos($match[1], '+') !== false) { + $vendorName = Manufacturers::identify(TYPE_TELEVISION, $match[2]); + $modelName = trim($match[3]); + } else { + $vendorName = Manufacturers::identify(TYPE_TELEVISION, $match[1]); + $modelName = trim($match[2]); + } + $found = true; } @@ -3366,6 +3391,10 @@ function analyseUserAgent($ua) { array_push($candidates, $match[1]); } + if (preg_match('/MSIEMobile [0-9.]+\) ([^\s]+)/u', $ua, $match)) { + array_push($candidates, $match[1]); + } + if (preg_match('/Series60\/[0-9\.]+ ([^\s]+) Profile/u', $ua, $match)) { array_push($candidates, $match[1]); } @@ -3374,6 +3403,10 @@ function analyseUserAgent($ua) { array_push($candidates, $match[1]); } + if (preg_match('/Huawei\/1.0\/([^\s]+)/u', $ua, $match)) { + array_push($candidates, $match[1]); + } + if (preg_match('/^(DoCoMo[^(]+)/u', $ua, $match)) { array_push($candidates, $match[1]); } @@ -3418,10 +3451,22 @@ function analyseUserAgent($ua) { array_push($candidates, $match[1]); } + if (preg_match('/([a-z][a-z0-9\_]+)\/[a-z]/iu', $ua, $match)) { + array_push($candidates, $match[1]); + } + if (preg_match('/^([a-z0-9\.\_\+\/ ]+)_TD\//iu', $ua, $match)) { array_push($candidates, $match[1]); } + if (preg_match('/^$([a-z0-9\.\_\+ ]+)\//iu', $ua, $match)) { + array_push($candidates, $match[1]); + } + + if (preg_match('/^([a-z]+\s[a-z0-9\-\_\.]+)/iu', $ua, $match)) { + array_push($candidates, $match[1]); + } + if (isset($this->os->name)) { for ($i = 0; $i < count($candidates); $i++) { $result = false; @@ -3518,6 +3563,14 @@ function analyseUserAgent($ua) { $identified = true; } + if (preg_match('/^CELKON\.([^\s]+)/ui', $candidates[$i], $match)) { + $this->device->manufacturer = 'Celkon'; + $this->device->model = DeviceModels::cleanup($match[1]); + $this->device->type = TYPE_MOBILE; + $this->device->generic = false; + $identified = true; + } + if (preg_match('/^Coship ([^\s]+)/ui', $candidates[$i], $match)) { $this->device->manufacturer = 'Coship'; $this->device->model = DeviceModels::cleanup($match[1]); @@ -3725,6 +3778,22 @@ function analyseUserAgent($ua) { } } + if (preg_match('/^Nexian([^\/_]+)(?:\/|_|$)/ui', $candidates[$i], $match)) { + $this->device->manufacturer = 'Nexian'; + $this->device->model = DeviceModels::cleanup($match[1]); + $this->device->type = TYPE_MOBILE; + $this->device->generic = false; + $identified = true; + } + + if (preg_match('/^NGM_([^\/_]+)(?:\/|_|$)/ui', $candidates[$i], $match)) { + $this->device->manufacturer = 'NGM'; + $this->device->model = DeviceModels::cleanup($match[1]); + $this->device->type = TYPE_MOBILE; + $this->device->generic = false; + $identified = true; + } + if (preg_match('/^OPPO_([^\/_]+)(?:\/|_|$)/ui', $candidates[$i], $match)) { $this->device->manufacturer = 'Oppo'; $this->device->model = DeviceModels::cleanup($match[1]); @@ -3733,7 +3802,7 @@ function analyseUserAgent($ua) { $identified = true; } - if (preg_match('/^Pantech([^\/_]+)(?:\/|_|$)/ui', $candidates[$i], $match)) { + if (preg_match('/^Pantech-?([^\/_]+)(?:\/|_|$)/ui', $candidates[$i], $match)) { $this->device->manufacturer = 'Pantech'; $this->device->model = DeviceModels::cleanup($match[1]); $this->device->type = TYPE_MOBILE; @@ -3749,6 +3818,15 @@ function analyseUserAgent($ua) { $identified = true; } + if (preg_match('/^sam-([A-Z][0-9]+)$/ui', $candidates[$i], $match)) { + $this->device->manufacturer = 'Samsung'; + $this->device->model = DeviceModels::cleanup('sam-' . $match[1]); + $this->device->type = TYPE_MOBILE; + $this->device->identified = false; + $this->device->generic = false; + $identified = true; + } + if (preg_match('/^SE([A-Z][0-9]+[a-z])$/ui', $candidates[$i], $match)) { $this->device->manufacturer = 'Sony Ericsson'; $this->device->model = DeviceModels::cleanup($match[1]); @@ -3779,6 +3857,14 @@ function analyseUserAgent($ua) { } } + if (preg_match('/^Spice\s?([A-Z][0-9]+)/ui', $candidates[$i], $match)) { + $this->device->manufacturer = 'Spice'; + $this->device->model = DeviceModels::cleanup($match[1]); + $this->device->type = TYPE_MOBILE; + $this->device->generic = false; + $identified = true; + } + if (preg_match('/^T-smart_([^\/]*)/ui', $candidates[$i], $match)) { $this->device->manufacturer = 'T-smart'; $this->device->model = DeviceModels::cleanup($match[1]); @@ -3795,7 +3881,15 @@ function analyseUserAgent($ua) { $identified = true; } - if (preg_match('/^Toshiba\/([^\/]*)/ui', $candidates[$i], $match)) { + if (preg_match('/^Tiphone ([^\/]*)/ui', $candidates[$i], $match)) { + $this->device->manufacturer = 'TiPhone'; + $this->device->model = DeviceModels::cleanup($match[1]); + $this->device->type = TYPE_MOBILE; + $this->device->generic = false; + $identified = true; + } + + if (preg_match('/^Toshiba[\/-]([^\/-]*)/ui', $candidates[$i], $match)) { $this->device->manufacturer = 'Toshiba'; $this->device->model = DeviceModels::cleanup($match[1]); $this->device->type = TYPE_MOBILE; @@ -4156,6 +4250,10 @@ function analyseUserAgent($ua) { if (preg_match('/IEMobile/u', $ua) || preg_match('/Windows CE/u', $ua) || preg_match('/Windows Phone/u', $ua) || preg_match('/WP7/u', $ua) || preg_match('/WPDesktop/u', $ua)) { $this->browser->name = 'Mobile Internet Explorer'; + + if (isset($this->device->model) && ($this->device->model == 'Xbox 360' || $this->device->model == 'Xbox One')) { + $this->browser->name = 'Internet Explorer'; + } } if (preg_match('/MSIE ([0-9.]*)/u', $ua, $match)) { @@ -4931,7 +5029,7 @@ function analyseUserAgent($ua) { * Iris */ - if (preg_match('/Iris/u', $ua)) { + if (preg_match('/Iris[ \/]/u', $ua)) { $this->browser->name = 'Iris'; $this->device->type = TYPE_MOBILE; @@ -5073,6 +5171,10 @@ function analyseUserAgent($ua) { if (preg_match('/InettvBrowser/u', $ua)) { $this->device->type = TYPE_TELEVISION; } + + if (preg_match('/Kindle/u', $ua)) { + $this->device->type = TYPE_EREADER; + } } if (preg_match('/Browser\/NF([0-9.]*)/ui', $ua, $match)) { @@ -5129,7 +5231,7 @@ function analyseUserAgent($ua) { $this->browser->version = new Version(array('value' => $match[1])); } - else if (preg_match('/(?:Obigo(?:InternetBrowser| Browser)?|Teleca)\/([A-Z]+)0?([0-9.]+)/ui', $ua, $match)) { + else if (preg_match('/(?:Obigo(?:InternetBrowser|[- ]Browser)?|Teleca)\/([A-Z]+)0?([0-9.]+)/ui', $ua, $match)) { $this->browser->name = 'Obigo ' . $match[1]; $this->browser->version = new Version(array('value' => $match[2])); } @@ -5579,13 +5681,26 @@ function analyseUserAgent($ua) { array('name' => 'SecondLife', 'regexp' => '/SecondLife\/([0-9.]*)/u'), array('name' => 'Valve Steam', 'regexp' => '/Valve Steam/u'), + array('name' => 'iTunes', 'regexp' => '/iTunes\/([0-9.]*)/u'), array('name' => 'Bluefish', 'regexp' => '/bluefish ([0-9.]*)/u'), array('name' => 'Songbird', 'regexp' => '/Songbird\/([0-9.]*)/u'), + + array('name' => 'Lightning', 'regexp' => '/Lightning\/([0-9.]*)/u'), array('name' => 'Thunderbird', 'regexp' => '/Thunderbird[\/ ]([0-9.]*)/u', 'type' => TYPE_DESKTOP), array('name' => 'Microsoft FrontPage', 'regexp' => '/MS FrontPage ([0-9.]*)/u', 'details' => 2, 'type' => TYPE_DESKTOP), array('name' => 'Microsoft Outlook', 'regexp' => '/Microsoft Outlook IMO, Build ([0-9.]*)/u', 'details' => 2, 'type' => TYPE_DESKTOP), + array('name' => 'Microsoft Outlook', 'regexp' => '/Microsoft Outlook ([0-9.]*)/u', 'details' => 2, 'type' => TYPE_DESKTOP), + array('name' => 'Microsoft Outlook Express', 'regexp' => '/Outlook-Express\/([0-9.]*)/u', 'details' => 2, 'type' => TYPE_DESKTOP), + array('name' => 'Lotus Notes', 'regexp' => '/Lotus-Notes\/([0-9.]*)/u', 'details' => 2, 'type' => TYPE_DESKTOP), + array('name' => 'Postbox', 'regexp' => '/Postbox[\/ ]([0-9.]*)/u', 'details' => 2), + array('name' => 'FeedDemon', 'regexp' => '/FeedDemon\/([0-9.]*)/u'), - array('name' => 'iTunes', 'regexp' => '/iTunes\/([0-9.]*)/u'), + + array('name' => 'Facebook', 'regexp' => '/FBAN\/FBIOS/u'), + array('name' => 'Google+', 'regexp' => '/com.google.GooglePlus/u' ), + array('name' => 'WeChat', 'regexp' => '/MicroMessenger\/([0-9.]*)/u'), + array('name' => 'Sina Weibo', 'regexp' => '/weibo__([0-9.]*)/u'), + array('name' => '1Browser', 'regexp' => '/1Password\/([0-9.]*)/u'), array('name' => '2345 Browser', 'regexp' => '/Mb2345Browser\/([0-9.]*)/u'), @@ -5657,7 +5772,6 @@ function analyseUserAgent($ua) { array('name' => 'K-Meleon', 'regexp' => '/K-Meleon\/([0-9.]*)/u', 'type' => TYPE_DESKTOP), array('name' => 'Lbbrowser', 'regexp' => '/LBBROWSER/u'), array('name' => 'Leechcraft', 'regexp' => '/Leechcraft(?:\/([0-9.]*))?/u', 'details' => 2), - array('name' => 'Lightning', 'regexp' => '/Lightning\/([0-9.]*)/u'), array('name' => 'Lobo', 'regexp' => '/Lobo\/([0-9.]*)/u', 'type' => TYPE_DESKTOP), array('name' => 'Lotus Expeditor', 'regexp' => '/Gecko Expeditor ([0-9.]*)/u', 'details' => 3), array('name' => 'Lunascape', 'regexp' => '/Lunascape[\/| ]([0-9.]*)/u', 'details' => 3), @@ -5677,6 +5791,7 @@ function analyseUserAgent($ua) { array('name' => 'OmniWeb', 'regexp' => '/OmniWeb/u', 'type' => TYPE_DESKTOP), array('name' => 'OneBrowser', 'regexp' => '/OneBrowser\/([0-9.]*)/u'), array('name' => 'Openwave', 'regexp' => '/Openwave\/([0-9.]*)/u', 'details' => 2), + array('name' => 'Openwave', 'regexp' => '/UP\.Browser\/([a-z0-9.]*)/u', 'details' => 2), array('name' => 'Orca', 'regexp' => '/Orca\/([0-9.]*)/u'), array('name' => 'Origyn', 'regexp' => '/Origyn Web Browser/u'), array('name' => 'Otter', 'regexp' => '/Otter Browser\/([0-9.]*)/u'), @@ -5696,6 +5811,7 @@ function analyseUserAgent($ua) { array('name' => 'rekonq', 'regexp' => '/rekonq(?:\/([0-9.]*))?/u', 'type' => TYPE_DESKTOP), array('name' => 'RockMelt', 'regexp' => '/RockMelt\/([0-9.]*)/u', 'details' => 2), array('name' => 'SaaYaa Explorer', 'regexp' => '/SaaYaa/u', 'type' => TYPE_DESKTOP), + array('name' => 'SEMC Browser', 'regexp' => '/SEMC-Browser\/([0-9.]*)/u', 'type' => TYPE_DESKTOP), array('name' => 'Sleipnir', 'regexp' => '/Sleipnir\/([0-9.]*)/u', 'details' => 3), array('name' => 'SlimBoat', 'regexp' => '/SlimBoat\/([0-9.]*)/u'), array('name' => 'SMBrowser', 'regexp' => '/SMBrowser/u'), @@ -5712,7 +5828,6 @@ function analyseUserAgent($ua) { array('name' => 'TaomeeBrowser', 'regexp' => '/TaomeeBrowser\/([0-9.]*)/u', 'details' => 2), array('name' => 'TazWeb', 'regexp' => '/TazWeb/u'), array('name' => 'Tencent Traveler', 'regexp' => '/TencentTraveler ([0-9.]*)/u', 'details' => 2), - array('name' => 'UP.Browser', 'regexp' => '/UP\.Browser\/([a-z0-9.]*)/u', 'details' => 2), array('name' => 'Uzbl', 'regexp' => '/^Uzbl/u'), array('name' => 'Viera Browser', 'regexp' => '/Viera\/([0-9.]*)/u'), array('name' => 'Villanova', 'regexp' => '/Villanova\/([0-9.]*)/u', 'details' => 3), @@ -6441,6 +6556,7 @@ static function identifyList($list, $model, $cleanup = true) { } static function cleanup($s = '') { + $s = preg_replace('/^phone\//', '', $s); $s = preg_replace('/\/[^\/]+$/u', '', $s); $s = preg_replace('/\/[^\/]+ Android\/.*/u', '', $s); @@ -6607,13 +6723,14 @@ function toArray() { if (isset($this->alias)) { $result['alias'] = $this->alias; - return $result; } - else { - if (isset($result['value'])) { - return $result['value']; - } + if (isset($this->nickname)) { + $result['nickname'] = $this->nickname; + } + + if (isset($result['value']) && !isset($result['alias']) && !isset($result['nickname'])) { + return $result['value']; } return $result;