From 7e7c4775d13964b8546cf0a86fa67227cc6112cc Mon Sep 17 00:00:00 2001 From: Sophie Meng Date: Sun, 30 Apr 2023 17:23:13 -0400 Subject: [PATCH 1/4] Add Demo Day Sp23 Popup --- .../android/eatery/MainListFragment.java | 19 ++- .../android/eatery/util/PopUpClass.java | 58 ++++++++ app/src/main/res/drawable/appdev_blue.xml | 18 +++ app/src/main/res/drawable/close_icon.xml | 16 +++ app/src/main/res/drawable/popuplogo.xml | 19 +++ .../main/res/layout/fragment_main_list.xml | 14 ++ app/src/main/res/layout/pop_up.xml | 134 ++++++++++++++++++ gradle.properties | 1 + 8 files changed, 276 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/com/cornellappdev/android/eatery/util/PopUpClass.java create mode 100644 app/src/main/res/drawable/appdev_blue.xml create mode 100644 app/src/main/res/drawable/close_icon.xml create mode 100644 app/src/main/res/drawable/popuplogo.xml create mode 100644 app/src/main/res/layout/pop_up.xml diff --git a/app/src/main/java/com/cornellappdev/android/eatery/MainListFragment.java b/app/src/main/java/com/cornellappdev/android/eatery/MainListFragment.java index 963b504b..9583d095 100644 --- a/app/src/main/java/com/cornellappdev/android/eatery/MainListFragment.java +++ b/app/src/main/java/com/cornellappdev/android/eatery/MainListFragment.java @@ -17,6 +17,7 @@ import android.view.ViewGroup; import android.widget.AutoCompleteTextView; import android.widget.Button; +import android.widget.ImageButton; import androidx.annotation.NonNull; import androidx.appcompat.app.ActionBar; @@ -36,6 +37,7 @@ import com.cornellappdev.android.eatery.model.enums.CampusArea; import com.cornellappdev.android.eatery.model.enums.PaymentMethod; import com.cornellappdev.android.eatery.presenter.MainListPresenter; +import com.cornellappdev.android.eatery.util.PopUpClass; import com.google.firebase.analytics.FirebaseAnalytics; import java.util.ArrayList; @@ -44,6 +46,7 @@ import java.util.Map; import java.util.Set; + public class MainListFragment extends Fragment implements MainListAdapter.ListAdapterOnClickHandler, View.OnClickListener { private MainListPresenter mListPresenter; @@ -59,7 +62,7 @@ public class MainListFragment extends Fragment @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { + Bundle savedInstanceState) { // Inflate the layout for this fragment View rootView = inflater.inflate(R.layout.fragment_main_list, container, false); @@ -93,6 +96,17 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, mCampusButtons = new HashMap<>(); initializeCampusEateryButtons(rootView); + // set up popup icon in bottom right corner + ImageButton popupButton = rootView.findViewById(R.id.buttonPopUp); + popupButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + PopUpClass popUpClass = new PopUpClass(); + popUpClass.showPopupWindow(v); + } + }); + return rootView; } @@ -169,8 +183,7 @@ private void handleNearestFirstButtonPress(Button button) { boolean successful = mListPresenter.sortNearestFirst(getContext(), this); if (successful) { changeButtonColor(R.color.white, R.color.blue, button); - } - else { + } else { mNearestFirstButtonPressed = false; } } else { diff --git a/app/src/main/java/com/cornellappdev/android/eatery/util/PopUpClass.java b/app/src/main/java/com/cornellappdev/android/eatery/util/PopUpClass.java new file mode 100644 index 00000000..a5301322 --- /dev/null +++ b/app/src/main/java/com/cornellappdev/android/eatery/util/PopUpClass.java @@ -0,0 +1,58 @@ +package com.cornellappdev.android.eatery.util; + +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.MotionEvent; +import android.view.View; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.PopupWindow; + +import androidx.cardview.widget.CardView; + +import com.cornellappdev.android.eatery.R; + +public class PopUpClass { + + //PopupWindow display method + + public void showPopupWindow(final View view) { + + //Create a View object yourself through inflater + LayoutInflater inflater = (LayoutInflater) view.getContext().getSystemService(view.getContext().LAYOUT_INFLATER_SERVICE); + View popupView = inflater.inflate(R.layout.pop_up, null); + + //Specify the length and width through constants + int width = LinearLayout.LayoutParams.MATCH_PARENT; + int height = LinearLayout.LayoutParams.MATCH_PARENT; + + //Make Inactive Items Outside Of PopupWindow + boolean focusable = true; + + //Create a window with our parameters + final PopupWindow popupWindow = new PopupWindow(popupView, width, height, focusable); + CardView card = popupView.findViewById(R.id.card); + card.setBackgroundResource(R.drawable.popuplogo); + + //Set the location of the window on the screen + popupWindow.showAtLocation(view, Gravity.CENTER, 0, 0); + + //Initialize the elements of our window, install the handler + ImageButton buttonClose = popupView.findViewById(R.id.popupclose); + buttonClose.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + popupWindow.dismiss(); + } + }); + + //Handler for clicking on the inactive zone of the window + popupView.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + return true; + } + }); + } + +} diff --git a/app/src/main/res/drawable/appdev_blue.xml b/app/src/main/res/drawable/appdev_blue.xml new file mode 100644 index 00000000..caf76619 --- /dev/null +++ b/app/src/main/res/drawable/appdev_blue.xml @@ -0,0 +1,18 @@ + + + + + diff --git a/app/src/main/res/drawable/close_icon.xml b/app/src/main/res/drawable/close_icon.xml new file mode 100644 index 00000000..f9cd08fd --- /dev/null +++ b/app/src/main/res/drawable/close_icon.xml @@ -0,0 +1,16 @@ + + + + diff --git a/app/src/main/res/drawable/popuplogo.xml b/app/src/main/res/drawable/popuplogo.xml new file mode 100644 index 00000000..dd9d2eab --- /dev/null +++ b/app/src/main/res/drawable/popuplogo.xml @@ -0,0 +1,19 @@ + + + + + diff --git a/app/src/main/res/layout/fragment_main_list.xml b/app/src/main/res/layout/fragment_main_list.xml index 6e426d76..045f2ef9 100644 --- a/app/src/main/res/layout/fragment_main_list.xml +++ b/app/src/main/res/layout/fragment_main_list.xml @@ -155,4 +155,18 @@ android:clipToPadding="false" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/scroll" /> + + + diff --git a/app/src/main/res/layout/pop_up.xml b/app/src/main/res/layout/pop_up.xml new file mode 100644 index 00000000..64d28914 --- /dev/null +++ b/app/src/main/res/layout/pop_up.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 2fb93959..5fb64bfc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,3 +18,4 @@ android.enableJetifier=true # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true + From 78c86406beaf6f842975b9fb716b82c2101d12aa Mon Sep 17 00:00:00 2001 From: Sophie Meng Date: Tue, 2 May 2023 11:12:48 -0400 Subject: [PATCH 2/4] Change version code for release --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index bf2f6bed..3b05e144 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,8 +14,8 @@ android { applicationId "com.cornellappdev.android.eatery" minSdkVersion 26 targetSdkVersion 33 - versionCode 49 - versionName "2.7.3" + versionCode 50 + versionName "2.7.4" testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' resValue 'string', "google_maps_key", keyProperties["googleMapApiKey"] resValue 'string', "encryption_key", keyProperties['encryptionKey'] From f99e16e50eda003aecafbecf7a15186a131a43b4 Mon Sep 17 00:00:00 2001 From: Sophie Meng Date: Tue, 2 May 2023 11:24:57 -0400 Subject: [PATCH 3/4] Change version code for release (pt2) --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 3b05e144..8ef1f20f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,8 +14,8 @@ android { applicationId "com.cornellappdev.android.eatery" minSdkVersion 26 targetSdkVersion 33 - versionCode 50 - versionName "2.7.4" + versionCode 51 + versionName "2.7.5" testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' resValue 'string', "google_maps_key", keyProperties["googleMapApiKey"] resValue 'string', "encryption_key", keyProperties['encryptionKey'] From 19f4559d7e8f937635593e82f516092106e6250c Mon Sep 17 00:00:00 2001 From: Sophie Meng Date: Wed, 6 Sep 2023 17:35:49 -0400 Subject: [PATCH 4/4] Implement announcement framework & changed version code --- app/build.gradle | 4 +- .../main/res/drawable/recruitment_popup_2.xml | 225 ++++++++++++++++++ .../main/res/layout/fragment_main_list.xml | 20 +- app/src/main/res/layout/pop_up.xml | 99 +------- 4 files changed, 245 insertions(+), 103 deletions(-) create mode 100644 app/src/main/res/drawable/recruitment_popup_2.xml diff --git a/app/build.gradle b/app/build.gradle index 8ef1f20f..b580e303 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -14,8 +14,8 @@ android { applicationId "com.cornellappdev.android.eatery" minSdkVersion 26 targetSdkVersion 33 - versionCode 51 - versionName "2.7.5" + versionCode 52 + versionName "2.7.6" testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' resValue 'string', "google_maps_key", keyProperties["googleMapApiKey"] resValue 'string', "encryption_key", keyProperties['encryptionKey'] diff --git a/app/src/main/res/drawable/recruitment_popup_2.xml b/app/src/main/res/drawable/recruitment_popup_2.xml new file mode 100644 index 00000000..42e75637 --- /dev/null +++ b/app/src/main/res/drawable/recruitment_popup_2.xml @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_main_list.xml b/app/src/main/res/layout/fragment_main_list.xml index 045f2ef9..6cff3d14 100644 --- a/app/src/main/res/layout/fragment_main_list.xml +++ b/app/src/main/res/layout/fragment_main_list.xml @@ -1,20 +1,20 @@ + android:scrollbars="none" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + app:layout_constraintVertical_bias="0.98" /> diff --git a/app/src/main/res/layout/pop_up.xml b/app/src/main/res/layout/pop_up.xml index 64d28914..d659b653 100644 --- a/app/src/main/res/layout/pop_up.xml +++ b/app/src/main/res/layout/pop_up.xml @@ -6,8 +6,8 @@ - - - - - - - - + app:srcCompat="@drawable/recruitment_popup_2" /> - - - - \ No newline at end of file