MainActivity: Use NavigationRail on large screen devices

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-04-15 21:15:39 +05:30
parent c3963519e0
commit 5f714e624b
5 changed files with 70 additions and 20 deletions

View File

@@ -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"
}

View File

@@ -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) {

View File

@@ -213,14 +213,11 @@ object NotificationUtil {
}
fun getUpdateNotification(context: Context, updatesList: List<App>): 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)