package info.androiddevice.deviceinventory.info; import android.app.ActivityManager; import android.content.Context; import android.content.pm.ConfigurationInfo; import android.graphics.Point; import android.os.Build; import android.util.DisplayMetrics; import android.view.Display; import android.view.WindowManager; import org.json.JSONException; import org.json.JSONObject; import info.androiddevice.deviceinventory.Application; public class DisplayProperty implements Property { @Override public Object getProperty() { JSONObject jsonObject = new JSONObject(); ActivityManager activityManager = (ActivityManager) Application.getContext().getSystemService(Context.ACTIVITY_SERVICE); ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo(); try { jsonObject.put("GlEsVersion", configurationInfo.getGlEsVersion()); } catch (JSONException e) { try { jsonObject.put("GlEsVersion", JSONObject.NULL); } catch (JSONException e1) {} } if(Build.VERSION.SDK_INT < 17) { DisplayMetrics displayMetrics = Application.getContext().getResources().getDisplayMetrics(); try { jsonObject.put("x", Integer.valueOf(displayMetrics.widthPixels)); jsonObject.put("y", Integer.valueOf(displayMetrics.heightPixels)); jsonObject.put("name", ""); } catch (JSONException e) { } } else { Point screenSize = new Point(); WindowManager windowManager = (WindowManager) Application.getContext().getSystemService(Context.WINDOW_SERVICE); Display display = windowManager.getDefaultDisplay(); display.getRealSize(screenSize); try { jsonObject.put("x", screenSize.x); jsonObject.put("y", screenSize.y); jsonObject.put("name", display.getName()); } catch (JSONException e) { } } return jsonObject; } @Override public String getName() { return "display"; } }