Utils: Consolidate user-agent detection code in a new utility class

Add some new checks for mobile
This commit is contained in:
zzz
2017-11-16 12:58:59 +00:00
parent e9ff0c2882
commit ed39ea408f
5 changed files with 81 additions and 51 deletions

View File

@ -5,6 +5,7 @@ import java.util.Locale;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import net.i2p.servlet.util.ServletUtil;
import net.i2p.util.RandomSource;
/**
@ -182,29 +183,6 @@ public class CSSHelper extends HelperBase {
}
private static boolean shouldAllowIFrame(String ua) {
return
// text
!(ua.startsWith("Lynx") || ua.startsWith("w3m") ||
ua.startsWith("ELinks") || ua.startsWith("Links") ||
ua.startsWith("Dillo") || ua.startsWith("Emacs-w3m") ||
// mobile
// http://www.zytrax.com/tech/web/mobile_ids.html
// Android tablet UAs don't have "Mobile" in them
(ua.contains("Android") && ua.contains("Mobile")) ||
ua.contains("iPhone") ||
ua.contains("iPod") || ua.contains("iPad") ||
ua.contains("Kindle") || ua.contains("Mobile") ||
ua.contains("Nintendo Wii") ||
ua.contains("Opera Mini") || ua.contains("Opera Mobi") ||
ua.contains("Palm") ||
ua.contains("PLAYSTATION") || ua.contains("Playstation") ||
ua.contains("Profile/MIDP-") || ua.contains("SymbianOS") ||
ua.contains("Windows CE") || ua.contains("Windows Phone") ||
ua.startsWith("BlackBerry") || ua.startsWith("DoCoMo") ||
ua.startsWith("Nokia") || ua.startsWith("OPWV-SDK") ||
ua.startsWith("MOT-") || ua.startsWith("SAMSUNG-") ||
ua.startsWith("nook") || ua.startsWith("SCH-") ||
ua.startsWith("SEC-") || ua.startsWith("SonyEricsson") ||
ua.startsWith("Vodafone"));
return !ServletUtil.isSmallBrowser(ua);
}
}