Browse Source

Preparing for 0.9.2.3

Aidan Follestad 8 years ago
parent
commit
6d70c0cb71

+ 1 - 1
commons/build.gradle

@@ -3,7 +3,7 @@ apply plugin: 'com.android.library'
 ext {
     PUBLISH_GROUP_ID = 'com.afollestad.material-dialogs'
     PUBLISH_ARTIFACT_ID = 'commons'
-    PUBLISH_VERSION = '0.9.2.2'
+    PUBLISH_VERSION = '0.9.2.3'
     SUPPORT_LIBRARY_VERSION = '25.1.0'
     BUILD_TOOLS = "25.0.1"
     TARGET_SDK = 25

+ 1 - 1
core/build.gradle

@@ -3,7 +3,7 @@ apply plugin: 'com.android.library'
 ext {
     PUBLISH_GROUP_ID = 'com.afollestad.material-dialogs'
     PUBLISH_ARTIFACT_ID = 'core'
-    PUBLISH_VERSION = '0.9.2.2'
+    PUBLISH_VERSION = '0.9.2.3'
     SUPPORT_LIBRARY_VERSION = '25.1.0'
     BUILD_TOOLS = "25.0.1"
     TARGET_SDK = 25

+ 14 - 10
core/src/main/java/com/afollestad/materialdialogs/DialogInit.java

@@ -13,7 +13,6 @@ import android.support.v7.widget.RecyclerView;
 import android.text.InputType;
 import android.text.method.LinkMovementMethod;
 import android.text.method.PasswordTransformationMethod;
-import android.util.TypedValue;
 import android.view.Display;
 import android.view.View;
 import android.view.ViewGroup;
@@ -355,19 +354,24 @@ class DialogInit {
         dialog.setViewInternal(dialog.view);
         dialog.checkIfListInitScroll();
 
-        WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
-        lp.copyFrom(dialog.getWindow().getAttributes());
-        lp.width = builder.context.getResources().getDimensionPixelSize(R.dimen.md_dialog_max_width);
-        dialog.getWindow().setAttributes(lp);
-
-        int windowPadding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 56,
-                builder.context.getResources().getDisplayMetrics());
+        // Min height and max width calculations
         WindowManager wm = dialog.getWindow().getWindowManager();
         Display display = wm.getDefaultDisplay();
         Point size = new Point();
         display.getSize(size);
-        int height = size.y;
-        dialog.view.setMaxHeight(height - windowPadding * 2);
+        final int windowWidth = size.x;
+        final int windowHeight = size.y;
+
+        final int windowVerticalPadding = builder.context.getResources().getDimensionPixelSize(R.dimen.md_dialog_vertical_margin);
+        final int windowHorizontalPadding = builder.context.getResources().getDimensionPixelSize(R.dimen.md_dialog_horizontal_margin);
+        final int maxWidth = builder.context.getResources().getDimensionPixelSize(R.dimen.md_dialog_max_width);
+        final int calculatedWidth = windowWidth - (windowHorizontalPadding * 2);
+
+        dialog.view.setMaxHeight(windowHeight - windowVerticalPadding * 2);
+        WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
+        lp.copyFrom(dialog.getWindow().getAttributes());
+        lp.width = Math.min(maxWidth, calculatedWidth);
+        dialog.getWindow().setAttributes(lp);
     }
 
     private static void fixCanvasScalingWhenHardwareAccelerated(ProgressBar pb) {

+ 2 - 0
core/src/main/res/values/dimens.xml

@@ -77,5 +77,7 @@
     <dimen name="md_listitem_vertical_margin_choice">8dp</dimen>
 
     <dimen name="md_dialog_max_width">356dp</dimen>
+    <dimen name="md_dialog_vertical_margin">52dp</dimen>
+    <dimen name="md_dialog_horizontal_margin">28dp</dimen>
 
 </resources>

+ 2 - 2
sample/build.gradle

@@ -7,7 +7,7 @@ buildscript {
 apply plugin: 'com.android.application'
 
 ext {
-    PUBLISH_VERSION = '0.9.2.2'
+    PUBLISH_VERSION = '0.9.2.3'
     SUPPORT_LIBRARY_VERSION = '25.1.0'
     BUILD_TOOLS = "25.0.1"
     TARGET_SDK = 25
@@ -21,7 +21,7 @@ android {
         applicationId "com.afollestad.materialdialogssample"
         minSdkVersion 13
         targetSdkVersion TARGET_SDK
-        versionCode 170
+        versionCode 171
         versionName PUBLISH_VERSION
 
         jackOptions {

BIN
sample/sample.apk