Bug 1475251 - HTTP auth dialog looks wrong; r?sdaswani draft
authorPetru Lingurar <petru.lingurar@softvision.ro>
Mon, 16 Jul 2018 11:47:39 +0300
changeset 818642 0cb6fbba23a06c5a2fd26b2666bd121159887baf
parent 818641 14d3505a22182571faa448fd4d43fa6b06ae0ddc
push id116307
push userplingurar@mozilla.com
push dateMon, 16 Jul 2018 08:48:24 +0000
reviewerssdaswani
bugs1475251, 1412517
milestone63.0a1
Bug 1475251 - HTTP auth dialog looks wrong; r?sdaswani Specialized the code added in Bug 1412517 so that it will apply only for date/time inputs. The rest will have the previous behaviour. MozReview-Commit-ID: JCAruK4x3r1
mobile/android/base/java/org/mozilla/gecko/prompts/Prompt.java
mobile/android/base/java/org/mozilla/gecko/prompts/PromptInput.java
--- a/mobile/android/base/java/org/mozilla/gecko/prompts/Prompt.java
+++ b/mobile/android/base/java/org/mozilla/gecko/prompts/Prompt.java
@@ -14,20 +14,18 @@ import org.mozilla.gecko.Tabs;
 import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.DialogInterface.OnCancelListener;
 import android.content.DialogInterface.OnClickListener;
 import android.content.res.Resources;
 import android.text.TextUtils;
 import android.util.Log;
-import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.AdapterView;
 import android.widget.AdapterView.OnItemClickListener;
 import android.widget.LinearLayout;
 import android.widget.ListView;
 import android.widget.ScrollView;
 
 import java.util.ArrayList;
 
@@ -362,25 +360,17 @@ public class Prompt implements OnClickLi
     /* Wraps an input in a linearlayout. We do this so that we can set padding that appears outside the background
      * drawable for the view.
      */
     private View wrapInput(final PromptInput input) {
         final LinearLayout linearLayout = new LinearLayout(mContext);
         linearLayout.setOrientation(LinearLayout.VERTICAL);
         applyInputStyle(linearLayout, input);
 
-        View widget = input.getView(mContext);
-
-        // Make sure the widget will not be chopped on smaller screens
-        LinearLayout.LayoutParams parentParams = new LinearLayout.LayoutParams(
-                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
-        parentParams.gravity = Gravity.CENTER;
-        widget.setLayoutParams(parentParams);
-
-        linearLayout.addView(widget);
+        linearLayout.addView(input.getView(mContext));
 
         return linearLayout;
     }
 
     /* Add the requested input elements to the dialog.
      *
      * @param builder
      *        the alert builder currently building this dialog.
--- a/mobile/android/base/java/org/mozilla/gecko/prompts/PromptInput.java
+++ b/mobile/android/base/java/org/mozilla/gecko/prompts/PromptInput.java
@@ -18,17 +18,19 @@ import org.mozilla.gecko.widget.Focusabl
 import android.content.Context;
 import android.content.res.Configuration;
 import android.support.design.widget.TextInputLayout;
 import android.text.Html;
 import android.text.InputType;
 import android.text.TextUtils;
 import android.text.format.DateFormat;
 import android.util.Log;
+import android.view.Gravity;
 import android.view.View;
+import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.ArrayAdapter;
 import android.widget.CheckBox;
 import android.widget.DatePicker;
 import android.widget.EditText;
 import android.widget.LinearLayout;
 import android.widget.Spinner;
@@ -225,16 +227,23 @@ public abstract class PromptInput {
                                                           DateTimePicker.PickersState.DATETIME,
                                                           mMinValue.replace("T", " ").replace("Z", ""), mMaxValue.replace("T", " ").replace("Z", ""));
                 mView = (View)input;
             } else if (mType.equals("month")) {
                 DateTimePicker input = new DateTimePicker(context, "yyyy-MM", mValue,
                                                           DateTimePicker.PickersState.MONTH, mMinValue, mMaxValue);
                 mView = (View)input;
             }
+
+            // Make sure the widgets will not be chopped on smaller screens (Bug 1412517)
+            LinearLayout.LayoutParams parentParams = new LinearLayout.LayoutParams(
+                    ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+            parentParams.gravity = Gravity.CENTER;
+            mView.setLayoutParams(parentParams);
+
             return mView;
         }
 
         private static String formatDateString(String dateFormat, Calendar calendar) {
             return new SimpleDateFormat(dateFormat).format(calendar.getTime());
         }
 
         @Override