001
014
015 package com.liferay.portal.kernel.mobile.device;
016
017 import com.liferay.portal.kernel.security.pacl.permission.PortalRuntimePermission;
018
019 import java.util.Map;
020 import java.util.Set;
021
022 import javax.servlet.http.HttpServletRequest;
023
024
028 public class DeviceDetectionUtil {
029
030 public static Device detectDevice(HttpServletRequest request) {
031 return getDeviceRecognitionProvider().detectDevice(request);
032 }
033
034 public static DeviceRecognitionProvider getDeviceRecognitionProvider() {
035 PortalRuntimePermission.checkGetBeanProperty(DeviceDetectionUtil.class);
036
037 return _deviceRecognitionProvider;
038 }
039
040 public static Set<VersionableName> getKnownBrands() {
041 KnownDevices knownDevices =
042 getDeviceRecognitionProvider().getKnownDevices();
043
044 return knownDevices.getBrands();
045 }
046
047 public static Set<VersionableName> getKnownBrowsers() {
048 KnownDevices knownDevices =
049 getDeviceRecognitionProvider().getKnownDevices();
050
051 return knownDevices.getBrowsers();
052 }
053
054 public static Set<String> getKnownDeviceIdsByCapability(
055 Capability capability) {
056
057 KnownDevices knownDevices =
058 getDeviceRecognitionProvider().getKnownDevices();
059
060 Map<Capability, Set<String>> deviceIds = knownDevices.getDeviceIds();
061
062 return deviceIds.get(capability);
063 }
064
065 public static Set<VersionableName> getKnownOperatingSystems() {
066 KnownDevices knownDevices =
067 getDeviceRecognitionProvider().getKnownDevices();
068
069 return knownDevices.getOperatingSystems();
070 }
071
072 public static Set<String> getKnownPointingMethods() {
073 KnownDevices knownDevices =
074 getDeviceRecognitionProvider().getKnownDevices();
075
076 return knownDevices.getPointingMethods();
077 }
078
079 public void setDeviceRecognitionProvider(
080 DeviceRecognitionProvider deviceRecognitionProvider) {
081
082 PortalRuntimePermission.checkSetBeanProperty(getClass());
083
084 _deviceRecognitionProvider = deviceRecognitionProvider;
085 }
086
087 private static volatile DeviceRecognitionProvider
088 _deviceRecognitionProvider;
089
090 }