From 5f714e624bb77a50f8558d82328893ea1267e187 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Mon, 15 Apr 2024 21:15:39 +0530 Subject: [PATCH] MainActivity: Use NavigationRail on large screen devices Signed-off-by: Aayush Gupta --- app/src/main/java/com/aurora/Constants.kt | 3 -- .../java/com/aurora/store/MainActivity.kt | 11 ++----- .../com/aurora/store/util/NotificationUtil.kt | 13 +++----- .../main/res/layout-sw600dp/activity_main.xml | 30 +++++++++++++++++ app/src/main/res/layout/layout_nav_header.xml | 33 +++++++++++++++++++ 5 files changed, 70 insertions(+), 20 deletions(-) create mode 100644 app/src/main/res/layout-sw600dp/activity_main.xml create mode 100644 app/src/main/res/layout/layout_nav_header.xml diff --git a/app/src/main/java/com/aurora/Constants.kt b/app/src/main/java/com/aurora/Constants.kt index c23296abb..46e8f9225 100644 --- a/app/src/main/java/com/aurora/Constants.kt +++ b/app/src/main/java/com/aurora/Constants.kt @@ -55,7 +55,4 @@ object Constants { const val PAGE_TYPE = "PAGE_TYPE" const val TOP_CHART_TYPE = "TOP_CHART_TYPE" const val TOP_CHART_CATEGORY = "TOP_CHART_CATEGORY" - - //NAVIGATION - const val NAVIGATION_UPDATES = "NAVIGATION_UPDATES" } diff --git a/app/src/main/java/com/aurora/store/MainActivity.kt b/app/src/main/java/com/aurora/store/MainActivity.kt index f656f48a4..3b05f1185 100644 --- a/app/src/main/java/com/aurora/store/MainActivity.kt +++ b/app/src/main/java/com/aurora/store/MainActivity.kt @@ -31,16 +31,15 @@ import androidx.navigation.FloatingWindow import androidx.navigation.NavController import androidx.navigation.fragment.NavHostFragment import androidx.navigation.ui.setupWithNavController -import com.aurora.Constants import com.aurora.extensions.accentColor import com.aurora.extensions.applyThemeAccent import com.aurora.store.data.model.NetworkStatus import com.aurora.store.data.providers.NetworkProvider import com.aurora.store.databinding.ActivityMainBinding -import com.aurora.store.util.Log import com.aurora.store.util.Preferences import com.aurora.store.util.Preferences.PREFERENCE_DEFAULT_SELECTED_TAB import com.aurora.store.view.ui.sheets.NetworkDialogSheet +import com.google.android.material.navigation.NavigationBarView import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch @@ -94,7 +93,7 @@ class MainActivity : AppCompatActivity() { } } - B.navView.apply { + (B.navView as NavigationBarView).apply { val alphaColor = ColorUtils.setAlphaComponent(this@MainActivity.accentColor(), 100) setupWithNavController(navController) itemActiveIndicatorColor = ColorStateList.valueOf(alphaColor) @@ -121,12 +120,6 @@ class MainActivity : AppCompatActivity() { } } - // Handle intents - when (intent?.action) { - Constants.NAVIGATION_UPDATES -> B.navView.selectedItemId = R.id.updatesFragment - else -> Log.i("Unhandled intent action: ${intent.action}") - } - // Handle views on fragments navController.addOnDestinationChangedListener { _, navDestination, _ -> if (navDestination !is FloatingWindow) { diff --git a/app/src/main/java/com/aurora/store/util/NotificationUtil.kt b/app/src/main/java/com/aurora/store/util/NotificationUtil.kt index d6af186dc..2011be4c5 100644 --- a/app/src/main/java/com/aurora/store/util/NotificationUtil.kt +++ b/app/src/main/java/com/aurora/store/util/NotificationUtil.kt @@ -213,14 +213,11 @@ object NotificationUtil { } fun getUpdateNotification(context: Context, updatesList: List): Notification { - val contentIntent = PendingIntent.getActivity( - context, - 0, - Intent(context, MainActivity::class.java).apply { - action = Constants.NAVIGATION_UPDATES - }, - PendingIntent.FLAG_IMMUTABLE - ) + val contentIntent = NavDeepLinkBuilder(context) + .setGraph(R.navigation.mobile_navigation) + .setDestination(R.id.updatesFragment) + .setComponentName(MainActivity::class.java) + .createPendingIntent() return NotificationCompat.Builder(context, Constants.NOTIFICATION_CHANNEL_UPDATES) .setSmallIcon(R.drawable.ic_updates) diff --git a/app/src/main/res/layout-sw600dp/activity_main.xml b/app/src/main/res/layout-sw600dp/activity_main.xml new file mode 100644 index 000000000..42cbdcc90 --- /dev/null +++ b/app/src/main/res/layout-sw600dp/activity_main.xml @@ -0,0 +1,30 @@ + + + + + + + diff --git a/app/src/main/res/layout/layout_nav_header.xml b/app/src/main/res/layout/layout_nav_header.xml new file mode 100644 index 000000000..804858ff4 --- /dev/null +++ b/app/src/main/res/layout/layout_nav_header.xml @@ -0,0 +1,33 @@ + + + + + + +