Skip to content
This repository was archived by the owner on Jul 22, 2024. It is now read-only.

Commit c7b95ea

Browse files
keianhzoMortimerGoro
authored andcommitted
Fixes choice prompt crash (#1393)
Also fixed the dialog min with we don't get correct height measures when lists are included in the layout.
1 parent abdbc36 commit c7b95ea

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/prompts/ChoicePromptWidget.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,13 +146,18 @@ protected void onDismiss() {
146146

147147
@Override
148148
public void show(@ShowFlags int aShowFlags) {
149-
show(aShowFlags);
149+
super.show(aShowFlags);
150150
for (int i = 0; i < mListItems.length; i++) {
151151
mList.setItemChecked(i, mListItems[i].mChoice.selected);
152152
}
153153
mAdapter.notifyDataSetChanged();
154154
}
155155

156+
@Override
157+
public int getMinHeight() {
158+
return WidgetPlacement.dpDimension(getContext(), R.dimen.prompt_min_height);
159+
}
160+
156161
public void setDelegate(GeckoSession.PromptDelegate.ChoiceCallback delegate) {
157162
mCallback = delegate;
158163
}

app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/prompts/PromptWidget.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ protected void initializeWidgetPlacement(WidgetPlacement aPlacement) {
6868
public void show(@ShowFlags int aShowFlags) {
6969
mLayout.measure(View.MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
7070
View.MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
71-
mWidgetPlacement.height = (int)(mLayout.getMeasuredHeight()/mWidgetPlacement.density);
71+
mWidgetPlacement.height = (getMinHeight() == 0) ?
72+
(int)(mLayout.getMeasuredHeight()/mWidgetPlacement.density) :
73+
getMinHeight();
7274
super.show(aShowFlags);
7375

7476
mWidgetManager.pushWorldBrightness(this, WidgetManagerDelegate.DEFAULT_DIM_BRIGHTNESS);
@@ -99,4 +101,8 @@ public void onGlobalFocusChanged(View oldFocus, View newFocus) {
99101
}
100102
}
101103

104+
public int getMinHeight() {
105+
return 0;
106+
}
107+
102108
}

app/src/main/res/values/dimen.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@
145145
<dimen name="prompt_content_max_height">450dp</dimen>
146146
<dimen name="prompt_choice_min_height">300dp</dimen>
147147
<dimen name="prompt_choice_max_height">520dp</dimen>
148+
<dimen name="prompt_min_height">400dp</dimen>
148149

149150
<!-- Crash Dialog prompt -->
150151
<dimen name="crash_dialog_width">640dp</dimen>

0 commit comments

Comments
 (0)