diff --git a/src/internalDebug/java/com/jakewharton/u2020/ui/debug/DebugView.java b/src/internalDebug/java/com/jakewharton/u2020/ui/debug/DebugView.java
index 8c0ecf4f..a3eb8aab 100644
--- a/src/internalDebug/java/com/jakewharton/u2020/ui/debug/DebugView.java
+++ b/src/internalDebug/java/com/jakewharton/u2020/ui/debug/DebugView.java
@@ -1,16 +1,20 @@
package com.jakewharton.u2020.ui.debug;
import android.animation.ValueAnimator;
+import android.annotation.TargetApi;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
+import android.graphics.Point;
import android.os.Build;
import android.support.v7.app.AlertDialog;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.view.ContextThemeWrapper;
+import android.view.Display;
import android.view.LayoutInflater;
import android.view.View;
+import android.view.WindowManager;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
@@ -101,6 +105,11 @@ public final class DebugView extends FrameLayout {
@BindView(R.id.debug_device_make) TextView deviceMakeView;
@BindView(R.id.debug_device_model) TextView deviceModelView;
@BindView(R.id.debug_device_resolution) TextView deviceResolutionView;
+ @BindView(R.id.debug_device_resolution_dp) TextView deviceResolutionDpView;
+ @BindView(R.id.debug_device_real_resolution_label) TextView deviceRealResolutionLabelView;
+ @BindView(R.id.debug_device_real_resolution) TextView deviceRealResolutionView;
+ @BindView(R.id.debug_device_real_resolution_dp_label) TextView deviceRealResolutionDpLabelView;
+ @BindView(R.id.debug_device_real_resolution_dp) TextView deviceRealResolutionDpView;
@BindView(R.id.debug_device_density) TextView deviceDensityView;
@BindView(R.id.debug_device_release) TextView deviceReleaseView;
@BindView(R.id.debug_device_api) TextView deviceApiView;
@@ -407,12 +416,37 @@ private void setupBuildSection() {
private void setupDeviceSection() {
DisplayMetrics displayMetrics = getContext().getResources().getDisplayMetrics();
String densityBucket = getDensityString(displayMetrics);
+
deviceMakeView.setText(Strings.truncateAt(Build.MANUFACTURER, 20));
deviceModelView.setText(Strings.truncateAt(Build.MODEL, 20));
deviceResolutionView.setText(displayMetrics.heightPixels + "x" + displayMetrics.widthPixels);
+ deviceResolutionDpView.setText(sizeInDp(displayMetrics.heightPixels, displayMetrics.widthPixels,
+ displayMetrics.density));
deviceDensityView.setText(displayMetrics.densityDpi + "dpi (" + densityBucket + ")");
deviceReleaseView.setText(Build.VERSION.RELEASE);
deviceApiView.setText(String.valueOf(Build.VERSION.SDK_INT));
+ setupRealSize(displayMetrics.density);
+ }
+
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
+ private void setupRealSize(float density) {
+ if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR1) {
+ Point point = new Point();
+ WindowManager windowManager = (WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE);
+ Display display = windowManager.getDefaultDisplay();
+ display.getRealSize(point);
+ deviceRealResolutionView.setText(point.y + "x" + point.x);
+ deviceRealResolutionDpView.setText(sizeInDp(point.y, point.x, density));
+ } else {
+ deviceRealResolutionLabelView.setVisibility(View.GONE);
+ deviceRealResolutionView.setVisibility(View.GONE);
+ deviceRealResolutionDpLabelView.setVisibility(View.GONE);
+ deviceRealResolutionDpView.setVisibility(View.GONE);
+ }
+ }
+
+ private String sizeInDp(int height, int width, float density) {
+ return Math.round(height / density) + "dp x " + Math.round(width / density) + "dp";
}
private void setupPicassoSection() {
diff --git a/src/internalDebug/res/layout/debug_view_content.xml b/src/internalDebug/res/layout/debug_view_content.xml
index a3649f5e..fe075d75 100644
--- a/src/internalDebug/res/layout/debug_view_content.xml
+++ b/src/internalDebug/res/layout/debug_view_content.xml
@@ -383,6 +383,44 @@
style="@style/Widget.U2020.DebugDrawer.RowValue"
/>
+
+
+
+
+
+
+
+
+