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
--- 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