Skip to content

Commit

Permalink
Merge pull request #91 from NordicPlayground/version/2
Browse files Browse the repository at this point in the history
Version 2
  • Loading branch information
philips77 committed Jun 19, 2024
2 parents 928a155 + ebafba1 commit 412caaf
Show file tree
Hide file tree
Showing 105 changed files with 3,781 additions and 1,562 deletions.
8 changes: 2 additions & 6 deletions analytics/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
plugins {
alias(libs.plugins.nordic.library.compose)
alias(libs.plugins.nordic.hilt)
alias(libs.plugins.nordic.nexus)
alias(libs.plugins.nordic.nexus.android)
}

group = "no.nordicsemi.android.common"
Expand All @@ -46,10 +46,6 @@ nordicNexusPublishing {
POM_SCM_URL = "https://github.com/NordicPlayground/Android-Common-Libraries"
POM_SCM_CONNECTION = "scm:git@github.com:NordicPlayground/Android-Common-Libraries.git"
POM_SCM_DEV_CONNECTION = "scm:git@github.com:NordicPlayground/Android-Common-Libraries.git"

POM_DEVELOPER_ID = "syzi"
POM_DEVELOPER_NAME = "Sylwester Zieliński"
POM_DEVELOPER_EMAIL = "sylwester.zielinski@nordicsemi.no"
}

android {
Expand All @@ -58,7 +54,7 @@ android {

dependencies {
implementation(project(":core"))
implementation(project(":theme"))
implementation(project(":ui"))

implementation(libs.androidx.dataStore.preferences)
implementation(libs.androidx.hilt.navigation.compose)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import no.nordicsemi.android.common.analytics.R
import no.nordicsemi.android.common.theme.view.AppBarIcon
import no.nordicsemi.android.common.ui.view.AppBarIcon

@Composable
fun AnalyticsPermissionButton() {
Expand Down
1 change: 1 addition & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ dependencies {
implementation(project(":logger"))

implementation(project(":theme"))
implementation(project(":ui"))
implementation(project(":navigation"))
implementation(project(":permissions-ble"))
implementation(project(":permissions-nfc"))
Expand Down
141 changes: 93 additions & 48 deletions app/src/main/java/no/nordicsemi/android/common/test/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,38 @@
package no.nordicsemi.android.common.test

import android.annotation.SuppressLint
import android.graphics.Color
import android.os.Bundle
import android.widget.Toast
import androidx.activity.SystemBarStyle
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.*
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.displayCutoutPadding
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.*
import androidx.compose.material3.*
import androidx.compose.material.icons.filled.Album
import androidx.compose.material.icons.filled.BrokenImage
import androidx.compose.material.icons.filled.ImageSearch
import androidx.compose.material.icons.filled.Navigation
import androidx.compose.material.icons.filled.Settings
import androidx.compose.material.icons.filled.Verified
import androidx.compose.material3.DrawerValue
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Icon
import androidx.compose.material3.ModalDrawerSheet
import androidx.compose.material3.ModalNavigationDrawer
import androidx.compose.material3.NavigationBar
import androidx.compose.material3.NavigationBarItem
import androidx.compose.material3.NavigationDrawerItem
import androidx.compose.material3.NavigationDrawerItemDefaults
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.rememberDrawerState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.rememberCoroutineScope
Expand All @@ -54,14 +77,30 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import no.nordicsemi.android.common.logger.view.LoggerAppBarIcon
import no.nordicsemi.android.common.navigation.*
import no.nordicsemi.android.common.navigation.DestinationId
import no.nordicsemi.android.common.navigation.NavigationView
import no.nordicsemi.android.common.navigation.Navigator
import no.nordicsemi.android.common.navigation.createSimpleDestination
import no.nordicsemi.android.common.navigation.popUpToStartDestination
import no.nordicsemi.android.common.navigation.viewmodel.SimpleNavigationViewModel
import no.nordicsemi.android.common.navigation.with
import no.nordicsemi.android.common.test.main.MainDestinations
import no.nordicsemi.android.common.test.simple.*
import no.nordicsemi.android.common.test.tab.*
import no.nordicsemi.android.common.test.simple.Advanced
import no.nordicsemi.android.common.test.simple.AdvancedDestination
import no.nordicsemi.android.common.test.simple.Hello
import no.nordicsemi.android.common.test.simple.HelloDialog
import no.nordicsemi.android.common.test.simple.Settings
import no.nordicsemi.android.common.test.simple.SettingsDestination
import no.nordicsemi.android.common.test.tab.SecondDestinations
import no.nordicsemi.android.common.test.tab.ThirdDestination
import no.nordicsemi.android.common.test.tab.ThirdTab
import no.nordicsemi.android.common.theme.NordicActivity
import no.nordicsemi.android.common.theme.NordicTheme
import no.nordicsemi.android.common.theme.view.*
import no.nordicsemi.android.common.ui.view.NavigationDrawerDividerDefaults
import no.nordicsemi.android.common.ui.view.NavigationDrawerTitle
import no.nordicsemi.android.common.ui.view.NavigationDrawerTitleDefaults
import no.nordicsemi.android.common.ui.view.NordicAppBar
import no.nordicsemi.android.common.ui.view.NordicLogo

data class Item(val title: String, val destinationId: DestinationId<Unit, *>, val icon: ImageVector)

Expand All @@ -76,7 +115,9 @@ class MainActivity : NordicActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

setDecorFitsSystemWindows(false)
enableEdgeToEdge(
statusBarStyle = SystemBarStyle.dark(Color.TRANSPARENT)
)

val menuItems = listOf(
Item("Main", Tabs, Icons.Filled.Verified),
Expand Down Expand Up @@ -108,52 +149,56 @@ class MainActivity : NordicActivity() {
.fillMaxHeight()
.verticalScroll(rememberScrollState()),
) {
NordicLogo(
modifier = Modifier
.padding(NavigationDrawerTitleDefaults.ItemPadding)
.padding(vertical = 16.dp)
)
Column(
modifier = Modifier.displayCutoutPadding(),
) {
NordicLogo(
modifier = Modifier
.padding(NavigationDrawerTitleDefaults.ItemPadding)
.padding(vertical = 16.dp)
)

NavigationDrawerTitle(
title = "Menu",
modifier = Modifier.padding(NavigationDrawerTitleDefaults.ItemPadding)
)
NavigationDrawerTitle(
title = "Menu",
modifier = Modifier.padding(NavigationDrawerTitleDefaults.ItemPadding)
)

NavigationDrawerItems(
items = menuItems,
navigator = navigator,
onDismiss = { scope.launch { drawerState.close() } },
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding)
)
NavigationDrawerItems(
items = menuItems,
navigator = navigator,
onDismiss = { scope.launch { drawerState.close() } },
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding)
)

HorizontalDivider(
modifier = Modifier.padding(NavigationDrawerDividerDefaults.ItemPadding)
)
HorizontalDivider(
modifier = Modifier.padding(NavigationDrawerDividerDefaults.ItemPadding)
)

NavigationDrawerTitle(
title = "Advanced",
modifier = Modifier.padding(NavigationDrawerTitleDefaults.ItemPadding)
)
NavigationDrawerTitle(
title = "Advanced",
modifier = Modifier.padding(NavigationDrawerTitleDefaults.ItemPadding)
)

NavigationDrawerItems(
items = advancedMenuItems,
navigator = navigator,
onDismiss = { scope.launch { drawerState.close() } },
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding)
)
NavigationDrawerItems(
items = advancedMenuItems,
navigator = navigator,
onDismiss = { scope.launch { drawerState.close() } },
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding)
)

NavigationDrawerItem(
icon = {
Icon(
Icons.Filled.BrokenImage,
contentDescription = null
)
},
label = { Text("This does nothing") },
selected = false,
onClick = { },
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding)
)
NavigationDrawerItem(
icon = {
Icon(
Icons.Filled.BrokenImage,
contentDescription = null
)
},
label = { Text("This does nothing") },
selected = false,
onClick = { },
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding)
)
}
}
}
) {
Expand Down
27 changes: 22 additions & 5 deletions app/src/main/java/no/nordicsemi/android/common/test/main/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,14 @@

package no.nordicsemi.android.common.test.main

import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.WindowInsetsSides
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.displayCutout
import androidx.compose.foundation.layout.only
import androidx.compose.foundation.layout.union
import androidx.compose.runtime.Composable
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import no.nordicsemi.android.common.navigation.createSimpleDestination
import no.nordicsemi.android.common.navigation.defineDestination
Expand All @@ -41,8 +47,8 @@ import no.nordicsemi.android.common.test.main.page.FontsPage
import no.nordicsemi.android.common.test.main.page.WarningPage
import no.nordicsemi.android.common.test.main.page.WizardPage
import no.nordicsemi.android.common.test.simple.HelloDestinations
import no.nordicsemi.android.common.theme.view.PagerView
import no.nordicsemi.android.common.theme.view.PagerViewEntity
import no.nordicsemi.android.common.ui.view.PagerView
import no.nordicsemi.android.common.ui.view.PagerViewEntity

/** This is the destination identifier. */
val Main = createSimpleDestination("main")
Expand All @@ -64,9 +70,20 @@ private fun MainScreen() {
WizardPage,
WarningPage,
))
// Pad content with cutout, at least 16dp on each side.
val padding = WindowInsets.displayCutout
.only(WindowInsetsSides.Horizontal)
.union(WindowInsets(left = 16.dp, right = 16.dp))
.asPaddingValues()
// Use the greatest padding for the spacing, so that other pages aren't visible
// being the cutout.
val spacing = maxOf(
padding.calculateLeftPadding(LayoutDirection.Ltr),
padding.calculateRightPadding(LayoutDirection.Rtl)
)
PagerView(
viewEntity = pages,
contentPadding = PaddingValues(horizontal = 16.dp),
itemSpacing = 16.dp,
contentPadding = padding,
itemSpacing = spacing,
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ import no.nordicsemi.android.common.navigation.Navigator
import no.nordicsemi.android.common.test.R
import no.nordicsemi.android.common.test.simple.Hello
import no.nordicsemi.android.common.theme.NordicTheme
import no.nordicsemi.android.common.theme.view.PagerViewItem
import no.nordicsemi.android.common.ui.view.PagerViewItem
import javax.inject.Inject

val BasicsPage = PagerViewItem("Basics") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import no.nordicsemi.android.common.test.R
import no.nordicsemi.android.common.theme.NordicTheme
import no.nordicsemi.android.common.theme.view.PagerViewItem
import no.nordicsemi.android.common.ui.view.PagerViewItem

val FontsPage = PagerViewItem("Fonts") {
FontsScreen()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import no.nordicsemi.android.common.test.R
import no.nordicsemi.android.common.theme.NordicTheme
import no.nordicsemi.android.common.theme.view.PagerViewItem
import no.nordicsemi.android.common.theme.view.WarningView
import no.nordicsemi.android.common.ui.view.PagerViewItem
import no.nordicsemi.android.common.ui.view.WarningView

val WarningPage = PagerViewItem("Warning") {
WarningScreen()
Expand Down
Loading

0 comments on commit 412caaf

Please sign in to comment.