Panagiotis Triantafyllou

small fixes

......@@ -2,6 +2,7 @@ package ly.warp.sdk.activities;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
......@@ -615,17 +616,23 @@ public class HomeActivity extends Activity implements View.OnClickListener, Coup
private void showQuestionnaireDialog(User.Questionnaire questionnaire) {
if (questionnaire.getQuestions() == null || questionnaire.getQuestions().isEmpty()) return;
BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this, R.style.FullScreenBottomSheetDialog);
Dialog questionnaireDialog = new Dialog(this, R.style.FullScreenDialogStyle);
View dialogView = LayoutInflater.from(this).inflate(R.layout.dialog_fullscreen_questionnaire, null);
bottomSheetDialog.setContentView(dialogView);
questionnaireDialog.setContentView(dialogView);
if (questionnaireDialog.getWindow() != null) {
questionnaireDialog.getWindow().setLayout(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
);
}
ImageView ivClose = dialogView.findViewById(R.id.iv_back);
ivClose.setOnClickListener(v -> {
if (mCurrentQuestionIndex > 0) {
mCurrentQuestionIndex--;
renderQuestion(questionnaire, dialogView, bottomSheetDialog);
renderQuestion(questionnaire, dialogView, questionnaireDialog);
} else {
bottomSheetDialog.dismiss();
questionnaireDialog.dismiss();
}
});
......@@ -642,31 +649,11 @@ public class HomeActivity extends Activity implements View.OnClickListener, Coup
mQuestionnaireAnswers = new ArrayList<>();
}
renderQuestion(questionnaire, dialogView, bottomSheetDialog);
bottomSheetDialog.setOnShowListener(dialog -> {
View bottomSheet = bottomSheetDialog.findViewById(com.google.android.material.R.id.design_bottom_sheet);
if (bottomSheet != null) {
bottomSheet.post(() -> {
// Disable fitsSystemWindows so the BottomSheet doesn't add nav bar padding automatically
bottomSheet.setFitsSystemWindows(false);
int screenHeight = getResources().getDisplayMetrics().heightPixels;
ViewGroup.LayoutParams lp = bottomSheet.getLayoutParams();
lp.height = screenHeight;
bottomSheet.setLayoutParams(lp);
BottomSheetBehavior<View> behavior = BottomSheetBehavior.from(bottomSheet);
behavior.setSkipCollapsed(true);
behavior.setPeekHeight(screenHeight);
behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
behavior.setDraggable(false);
});
}
});
bottomSheetDialog.show();
renderQuestion(questionnaire, dialogView, questionnaireDialog);
questionnaireDialog.show();
}
private void renderQuestion(User.Questionnaire questionnaire, View dialogView, BottomSheetDialog dialog) {
private void renderQuestion(User.Questionnaire questionnaire, View dialogView, Dialog dialog) {
if (mCurrentQuestionIndex >= questionnaire.getQuestions().size()) {
return;
}
......
......@@ -63,4 +63,13 @@
<style name="NoCornerShapeAppearance" parent="">
<item name="cornerSize">0dp</item>
</style>
<style name="FullScreenDialogStyle" parent="Theme.MaterialComponents.Light">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowBackground">@color/white</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowLightStatusBar">true</item>
</style>
</resources>
......