diff --git a/demo-app/src/main/ic_cart-playstore.png b/demo-app/src/main/ic_cart-playstore.png new file mode 100644 index 000000000..ca955b971 Binary files /dev/null and b/demo-app/src/main/ic_cart-playstore.png differ diff --git a/demo-app/src/main/java/io/opentelemetry/android/demo/AstronomyShopActivity.kt b/demo-app/src/main/java/io/opentelemetry/android/demo/AstronomyShopActivity.kt index 123baeb0b..9241b74f8 100644 --- a/demo-app/src/main/java/io/opentelemetry/android/demo/AstronomyShopActivity.kt +++ b/demo-app/src/main/java/io/opentelemetry/android/demo/AstronomyShopActivity.kt @@ -33,7 +33,7 @@ class AstronomyShopActivity : AppCompatActivity() { setOf( R.id.navigation_home, R.id.navigation_dashboard, - R.id.navigation_notifications, + R.id.navigation_cart, ), ) setupActionBarWithNavController(navController, appBarConfiguration) diff --git a/demo-app/src/main/java/io/opentelemetry/android/demo/MainActivity.kt b/demo-app/src/main/java/io/opentelemetry/android/demo/MainActivity.kt index 36ad68275..0b272e099 100644 --- a/demo-app/src/main/java/io/opentelemetry/android/demo/MainActivity.kt +++ b/demo-app/src/main/java/io/opentelemetry/android/demo/MainActivity.kt @@ -7,6 +7,7 @@ package io.opentelemetry.android.demo import android.content.Intent import android.os.Bundle +import android.util.Log import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.viewModels @@ -76,7 +77,9 @@ class MainActivity : ComponentActivity() { }) } } + Log.d(TAG, "Main Activity started ") } } + viewModel.sessionIdState.value = OtelSampleApplication.rum?.rumSessionId!! } } diff --git a/demo-app/src/main/java/io/opentelemetry/android/demo/OtelSampleApplication.kt b/demo-app/src/main/java/io/opentelemetry/android/demo/OtelSampleApplication.kt index 4d66d7872..cf3f4a0a1 100644 --- a/demo-app/src/main/java/io/opentelemetry/android/demo/OtelSampleApplication.kt +++ b/demo-app/src/main/java/io/opentelemetry/android/demo/OtelSampleApplication.kt @@ -17,7 +17,7 @@ import io.opentelemetry.api.common.Attributes import io.opentelemetry.api.trace.Tracer import io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter -private const val TAG = "otel.demo" +const val TAG = "otel.demo" class OtelSampleApplication : Application() { @SuppressLint("RestrictedApi") diff --git a/demo-app/src/main/java/io/opentelemetry/android/demo/SessionId.kt b/demo-app/src/main/java/io/opentelemetry/android/demo/SessionId.kt index f702c016e..12cf4a208 100644 --- a/demo-app/src/main/java/io/opentelemetry/android/demo/SessionId.kt +++ b/demo-app/src/main/java/io/opentelemetry/android/demo/SessionId.kt @@ -11,6 +11,7 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.material3.Card import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState @@ -22,16 +23,19 @@ import kotlinx.coroutines.flow.StateFlow @Composable fun SessionId(sessionId: StateFlow) { Row { - Card(modifier = Modifier.size(width = 250.dp, height = 75.dp)) { + Card(modifier = Modifier.size(width = 295.dp, height = 75.dp)) { Column( modifier = - Modifier - .fillMaxWidth() - .padding(vertical = 25.dp), + Modifier + .fillMaxWidth() + .padding(vertical = 25.dp), Arrangement.Center, ) { - CenterText(text = "session.id", fontSize = 12.sp) - CenterText(text = sessionId.collectAsState().value, fontSize = 12.sp) + CenterText(text = "session.id", fontSize = 14.sp) + //TODO: Fix me -- this selection doesn't work + SelectionContainer { + CenterText(text = sessionId.collectAsState().value, fontSize = 14.sp) + } } } } diff --git a/demo-app/src/main/java/io/opentelemetry/android/demo/ui/notifications/NotificationsFragment.kt b/demo-app/src/main/java/io/opentelemetry/android/demo/ui/cart/CartFragment.kt similarity index 83% rename from demo-app/src/main/java/io/opentelemetry/android/demo/ui/notifications/NotificationsFragment.kt rename to demo-app/src/main/java/io/opentelemetry/android/demo/ui/cart/CartFragment.kt index 34b19adde..2e039c40c 100644 --- a/demo-app/src/main/java/io/opentelemetry/android/demo/ui/notifications/NotificationsFragment.kt +++ b/demo-app/src/main/java/io/opentelemetry/android/demo/ui/cart/CartFragment.kt @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.android.demo.ui.notifications +package io.opentelemetry.android.demo.ui.cart import android.os.Bundle import android.view.LayoutInflater @@ -14,7 +14,7 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import io.opentelemetry.android.demo.databinding.FragmentNotificationsBinding -class NotificationsFragment : Fragment() { +class CartFragment : Fragment() { // Renamed from _binding (default) due to ktlint problem below private var binding: FragmentNotificationsBinding? = null @@ -32,14 +32,14 @@ class NotificationsFragment : Fragment() { container: ViewGroup?, savedInstanceState: Bundle?, ): View { - val notificationsViewModel = - ViewModelProvider(this).get(NotificationsViewModel::class.java) + val cartViewModel = + ViewModelProvider(this).get(CartViewModel::class.java) binding = FragmentNotificationsBinding.inflate(inflater, container, false) val root: View = getBinding().root val textView: TextView = getBinding().textNotifications - notificationsViewModel.text.observe(viewLifecycleOwner) { + cartViewModel.text.observe(viewLifecycleOwner) { textView.text = it } return root diff --git a/demo-app/src/main/java/io/opentelemetry/android/demo/ui/notifications/NotificationsViewModel.kt b/demo-app/src/main/java/io/opentelemetry/android/demo/ui/cart/CartViewModel.kt similarity index 67% rename from demo-app/src/main/java/io/opentelemetry/android/demo/ui/notifications/NotificationsViewModel.kt rename to demo-app/src/main/java/io/opentelemetry/android/demo/ui/cart/CartViewModel.kt index 678151b81..b2c5a207b 100644 --- a/demo-app/src/main/java/io/opentelemetry/android/demo/ui/notifications/NotificationsViewModel.kt +++ b/demo-app/src/main/java/io/opentelemetry/android/demo/ui/cart/CartViewModel.kt @@ -3,16 +3,16 @@ * SPDX-License-Identifier: Apache-2.0 */ -package io.opentelemetry.android.demo.ui.notifications +package io.opentelemetry.android.demo.ui.cart import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel -class NotificationsViewModel : ViewModel() { +class CartViewModel : ViewModel() { private val _text = MutableLiveData().apply { - value = "This is notifications Fragment" + value = "This is cart Fragment" } val text: LiveData = _text } diff --git a/demo-app/src/main/res/drawable/ic_cart_background.xml b/demo-app/src/main/res/drawable/ic_cart_background.xml new file mode 100644 index 000000000..ca3826a46 --- /dev/null +++ b/demo-app/src/main/res/drawable/ic_cart_background.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo-app/src/main/res/drawable/ic_cart_foreground.xml b/demo-app/src/main/res/drawable/ic_cart_foreground.xml new file mode 100644 index 000000000..384a609ea --- /dev/null +++ b/demo-app/src/main/res/drawable/ic_cart_foreground.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/demo-app/src/main/res/layout/fragment_notifications.xml b/demo-app/src/main/res/layout/fragment_notifications.xml index d41793572..65b074b66 100644 --- a/demo-app/src/main/res/layout/fragment_notifications.xml +++ b/demo-app/src/main/res/layout/fragment_notifications.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".ui.notifications.NotificationsFragment"> + tools:context=".ui.cart.CartFragment"> + android:id="@+id/navigation_cart" + android:icon="@drawable/ic_cart_foreground" + android:title="@string/title_cart" /> \ No newline at end of file diff --git a/demo-app/src/main/res/mipmap-anydpi-v26/ic_cart.xml b/demo-app/src/main/res/mipmap-anydpi-v26/ic_cart.xml new file mode 100644 index 000000000..1e1b14b65 --- /dev/null +++ b/demo-app/src/main/res/mipmap-anydpi-v26/ic_cart.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/demo-app/src/main/res/mipmap-anydpi-v26/ic_cart_round.xml b/demo-app/src/main/res/mipmap-anydpi-v26/ic_cart_round.xml new file mode 100644 index 000000000..1e1b14b65 --- /dev/null +++ b/demo-app/src/main/res/mipmap-anydpi-v26/ic_cart_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/demo-app/src/main/res/mipmap-hdpi/ic_cart.webp b/demo-app/src/main/res/mipmap-hdpi/ic_cart.webp new file mode 100644 index 000000000..b5fb75f8f Binary files /dev/null and b/demo-app/src/main/res/mipmap-hdpi/ic_cart.webp differ diff --git a/demo-app/src/main/res/mipmap-hdpi/ic_cart_round.webp b/demo-app/src/main/res/mipmap-hdpi/ic_cart_round.webp new file mode 100644 index 000000000..42606449d Binary files /dev/null and b/demo-app/src/main/res/mipmap-hdpi/ic_cart_round.webp differ diff --git a/demo-app/src/main/res/mipmap-mdpi/ic_cart.webp b/demo-app/src/main/res/mipmap-mdpi/ic_cart.webp new file mode 100644 index 000000000..da28a5384 Binary files /dev/null and b/demo-app/src/main/res/mipmap-mdpi/ic_cart.webp differ diff --git a/demo-app/src/main/res/mipmap-mdpi/ic_cart_round.webp b/demo-app/src/main/res/mipmap-mdpi/ic_cart_round.webp new file mode 100644 index 000000000..937d60b1d Binary files /dev/null and b/demo-app/src/main/res/mipmap-mdpi/ic_cart_round.webp differ diff --git a/demo-app/src/main/res/mipmap-xhdpi/ic_cart.webp b/demo-app/src/main/res/mipmap-xhdpi/ic_cart.webp new file mode 100644 index 000000000..1d69a4ade Binary files /dev/null and b/demo-app/src/main/res/mipmap-xhdpi/ic_cart.webp differ diff --git a/demo-app/src/main/res/mipmap-xhdpi/ic_cart_round.webp b/demo-app/src/main/res/mipmap-xhdpi/ic_cart_round.webp new file mode 100644 index 000000000..ad5a801d1 Binary files /dev/null and b/demo-app/src/main/res/mipmap-xhdpi/ic_cart_round.webp differ diff --git a/demo-app/src/main/res/mipmap-xxhdpi/ic_cart.webp b/demo-app/src/main/res/mipmap-xxhdpi/ic_cart.webp new file mode 100644 index 000000000..8894b2944 Binary files /dev/null and b/demo-app/src/main/res/mipmap-xxhdpi/ic_cart.webp differ diff --git a/demo-app/src/main/res/mipmap-xxhdpi/ic_cart_round.webp b/demo-app/src/main/res/mipmap-xxhdpi/ic_cart_round.webp new file mode 100644 index 000000000..aae5da12d Binary files /dev/null and b/demo-app/src/main/res/mipmap-xxhdpi/ic_cart_round.webp differ diff --git a/demo-app/src/main/res/mipmap-xxxhdpi/ic_cart.webp b/demo-app/src/main/res/mipmap-xxxhdpi/ic_cart.webp new file mode 100644 index 000000000..18579c4b3 Binary files /dev/null and b/demo-app/src/main/res/mipmap-xxxhdpi/ic_cart.webp differ diff --git a/demo-app/src/main/res/mipmap-xxxhdpi/ic_cart_round.webp b/demo-app/src/main/res/mipmap-xxxhdpi/ic_cart_round.webp new file mode 100644 index 000000000..97a19f6d9 Binary files /dev/null and b/demo-app/src/main/res/mipmap-xxxhdpi/ic_cart_round.webp differ diff --git a/demo-app/src/main/res/navigation/mobile_navigation.xml b/demo-app/src/main/res/navigation/mobile_navigation.xml index edf04115c..763a9a618 100644 --- a/demo-app/src/main/res/navigation/mobile_navigation.xml +++ b/demo-app/src/main/res/navigation/mobile_navigation.xml @@ -18,8 +18,8 @@ tools:layout="@layout/fragment_dashboard" /> \ No newline at end of file diff --git a/demo-app/src/main/res/values/strings.xml b/demo-app/src/main/res/values/strings.xml index de0f7312c..d56c0b7a5 100644 --- a/demo-app/src/main/res/values/strings.xml +++ b/demo-app/src/main/res/values/strings.xml @@ -3,5 +3,5 @@ AstronomyShopActivity Home Dashboard - Notifications + Cart \ No newline at end of file