diff --git a/app/src/main/java/it/reyboz/bustorino/ActivityPrincipal.java b/app/src/main/java/it/reyboz/bustorino/ActivityPrincipal.java --- a/app/src/main/java/it/reyboz/bustorino/ActivityPrincipal.java +++ b/app/src/main/java/it/reyboz/bustorino/ActivityPrincipal.java @@ -682,7 +682,7 @@ .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE) .commit(); } - + /* @Nullable private MainScreenFragment getMainFragmentIfVisible(){ FragmentManager fraMan = getSupportFragmentManager(); @@ -691,12 +691,17 @@ else return null; } + */ + @Override public void showFloatingActionButton(boolean yes) { - var frag = getMainFragmentIfVisible(); - if(frag!=null){ - frag.showFloatingActionButton(yes); + var framan = getSupportFragmentManager(); + var frag = framan.findFragmentByTag(MainScreenFragment.FRAGMENT_TAG); + if(frag instanceof MainScreenFragment mainFrag){ + mainFrag.showFloatingActionButton(yes); + } else{ + Log.d(DEBUG_TAG, "No main screen fragment found to set showFloatingActionButton"); } } @@ -759,9 +764,10 @@ } if(getSupportActionBar()!=null && titleResId!=null) getSupportActionBar().setTitle(titleResId); - MainScreenFragment mainFragmentIfVisible = getMainFragmentIfVisible(); - if (mainFragmentIfVisible!=null){ - mainFragmentIfVisible.readyGUIfor(fragmentType); + //MainScreenFragment mainFragmentIfVisible = getMainFragmentIfVisible(); + var frag = getSupportFragmentManager().findFragmentByTag(MainScreenFragment.FRAGMENT_TAG); + if (frag instanceof MainScreenFragment mainFrag){ + mainFrag.readyGUIfor(fragmentType); } } @@ -836,17 +842,19 @@ @Override public void toggleSpinner(boolean state) { - MainScreenFragment probableFragment = getMainFragmentIfVisible(); - if (probableFragment!=null){ - probableFragment.toggleSpinner(state); + var frag = getSupportFragmentManager().findFragmentByTag(MainScreenFragment.FRAGMENT_TAG); + if (frag instanceof MainScreenFragment mainFrag) { + mainFrag.toggleSpinner(state); } } @Override public void enableRefreshLayout(boolean yes) { - MainScreenFragment probableFragment = getMainFragmentIfVisible(); - if (probableFragment!=null){ - probableFragment.enableRefreshLayout(yes); + Log.d(DEBUG_TAG, "enableRefreshLayout: "+yes); + var framan = getSupportFragmentManager(); + var frag = framan.findFragmentByTag(MainScreenFragment.FRAGMENT_TAG); + if (frag instanceof MainScreenFragment mainFrag){ + mainFrag.enableRefreshLayout(yes); } } diff --git a/app/src/main/java/it/reyboz/bustorino/fragments/ButtonsFragment.kt b/app/src/main/java/it/reyboz/bustorino/fragments/ButtonsFragment.kt --- a/app/src/main/java/it/reyboz/bustorino/fragments/ButtonsFragment.kt +++ b/app/src/main/java/it/reyboz/bustorino/fragments/ButtonsFragment.kt @@ -27,10 +27,10 @@ import android.widget.ImageView import android.widget.TextView import androidx.fragment.app.Fragment -import androidx.fragment.app.activityViewModels import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView import com.google.android.material.card.MaterialCardView +import it.reyboz.bustorino.ActivityAbout import it.reyboz.bustorino.ActivitySettings import it.reyboz.bustorino.R import it.reyboz.bustorino.adapters.RecyclerViewMargin @@ -54,10 +54,6 @@ arguments?.let { } - if(listener is FragmentListenerMain){ - val ll = listener as FragmentListenerMain - ll.enableRefreshLayout(false) - } } private val marginHoriz = 30 private val margin = 11 @@ -76,8 +72,12 @@ CardMenuItem(CardAction.FAVORITES_STOPS, getString(R.string.action_favorites), R.drawable.ic_star_filled_white), CardMenuItem(CardAction.LINES, getString(R.string.lines), R.drawable.ic_moving_emph), CardMenuItem(CardAction.SETTINGS, getString(R.string.action_settings), R.drawable.ic_baseline_settings_24), - CardMenuItem(CardAction.QR_SCAN, getString(R.string.scan_qr_code_stop), R.drawable.qr_code_scan) - ) + CardMenuItem(CardAction.INFO, + getString(R.string.action_about), R.drawable.ic_baseline_info_24 + ), + CardMenuItem(CardAction.QR_SCAN, getString(R.string.scan_qr_code_stop), R.drawable.qr_code_scan), + + ) recyclerView = root.findViewById(R.id.buttonsRecyclerView) @@ -137,6 +137,9 @@ CardAction.QR_SCAN -> { launchBarcodeScan() } + CardAction.INFO ->{ + startActivity(Intent(requireContext(), ActivityAbout::class.java)) + } } } @@ -169,6 +172,10 @@ override fun onResume() { super.onResume() listener?.readyGUIfor(FragmentKind.HOME_BUTTONS) + if(listener is FragmentListenerMain){ + val ll = listener as FragmentListenerMain + ll.enableRefreshLayout(false) + } } companion object { @@ -192,7 +199,7 @@ val iconRes: Int ) enum class CardAction { - NEARBY, MAP, FAVORITES_STOPS, LINES, SETTINGS, QR_SCAN + NEARBY, MAP, FAVORITES_STOPS, LINES, SETTINGS, QR_SCAN, INFO } } @@ -203,7 +210,7 @@ parent: ViewGroup, viewType: Int ): ViewHolder { - val view = LayoutInflater.from(parent.context).inflate(R.layout.item_card_button, parent, false) + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_card_button_home, parent, false) /* // Altezza match_parent per uniformare le card della stessa riga view.layoutParams = RecyclerView.LayoutParams( diff --git a/app/src/main/java/it/reyboz/bustorino/fragments/MainScreenFragment.java b/app/src/main/java/it/reyboz/bustorino/fragments/MainScreenFragment.java --- a/app/src/main/java/it/reyboz/bustorino/fragments/MainScreenFragment.java +++ b/app/src/main/java/it/reyboz/bustorino/fragments/MainScreenFragment.java @@ -704,6 +704,7 @@ } @Override public void enableRefreshLayout(boolean yes) { + Log.d(DEBUG_TAG, "Enabling refresh layout: " + yes); swipeRefreshLayout.setEnabled(yes); } diff --git a/app/src/main/res/drawable/ic_outline_info_24.xml b/app/src/main/res/drawable/ic_outline_info_24.xml --- a/app/src/main/res/drawable/ic_outline_info_24.xml +++ b/app/src/main/res/drawable/ic_outline_info_24.xml @@ -1,5 +1,9 @@ - - + + diff --git a/app/src/main/res/layout/item_card_button.xml b/app/src/main/res/layout/item_card_button_home.xml rename from app/src/main/res/layout/item_card_button.xml rename to app/src/main/res/layout/item_card_button_home.xml --- a/app/src/main/res/layout/item_card_button.xml +++ b/app/src/main/res/layout/item_card_button_home.xml @@ -15,7 +15,7 @@ android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center" - android:padding="20dp"> + android:padding="18dp">