diff --git a/Showcases/media_view/app/build.gradle.kts b/Showcases/media_view/app/build.gradle.kts index 838b8f80..1d070630 100644 --- a/Showcases/media_view/app/build.gradle.kts +++ b/Showcases/media_view/app/build.gradle.kts @@ -43,8 +43,8 @@ android { minSdk = 29 //noinspection ExpiredTargetSdkVersion targetSdk = 32 - versionCode = 22 - versionName = "0.0.20" + versionCode = 26 + versionName = "0.0.26" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true } @@ -196,7 +196,7 @@ dependencies { androidTestImplementation("androidx.test.ext:junit:1.2.1") androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1") - // Meta Spatial SDK libs + // Meta Spatial SDK implementation("com.meta.spatial:meta-spatial-sdk:$metaSpatialSdkVersion") implementation("com.meta.spatial:meta-spatial-sdk-ovrmetrics:$metaSpatialSdkVersion") implementation("com.meta.spatial:meta-spatial-sdk-physics:$metaSpatialSdkVersion") @@ -204,6 +204,7 @@ dependencies { implementation("com.meta.spatial:meta-spatial-sdk-vr:$metaSpatialSdkVersion") implementation("com.meta.spatial:meta-spatial-sdk-mruk:$metaSpatialSdkVersion") implementation("com.meta.spatial:meta-spatial-sdk-castinputforward:$metaSpatialSdkVersion") + implementation("com.meta.spatial:meta-spatial-sdk-isdk:$metaSpatialSdkVersion") // Meta Spatial SDK dependencies implementation("com.squareup.okhttp3:okhttp:4.12.0") @@ -223,7 +224,7 @@ dependencies { implementation("com.squareup.okhttp3:logging-interceptor") } -val sceneProjectPath = "app/src/main/assets/scenes" +val sceneProjectPath = "src/main/assets/scenes" spatial { allowUsageDataCollection.set(true) @@ -233,7 +234,7 @@ spatial { exportItems { item { projectPath.set(File("$sceneProjectPath/Main.metaspatial")) - outputPath.set(File("app/src/main/assets/scenes")) + outputPath.set(File("src/main/assets/scenes")) } } } diff --git a/Showcases/media_view/app/src/main/assets/scenes/Composition.glxf b/Showcases/media_view/app/src/main/assets/scenes/Composition.glxf index 9faad40c..75037937 100644 --- a/Showcases/media_view/app/src/main/assets/scenes/Composition.glxf +++ b/Showcases/media_view/app/src/main/assets/scenes/Composition.glxf @@ -1 +1 @@ -{"nodes":[{"name":"privacyPopup","extras":{"meta_spatial":{"components":{"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"value":[0.20000000298023224,0.20000000298023224],"type":"Vector2","keyString":"dimensions"}},"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.Panel":{"panel":{"value":"@integer/5","type":"String","keyString":"panel"}},"com.meta.levinriegner.mediaview.LookAtHead":{"hasLooked":{"value":false,"type":"Boolean","keyString":"hasLooked"},"once":{"value":false,"type":"Boolean","keyString":"once"},"zOffset":{"value":0.7,"type":"Float","keyString":"zOffset"}}},"version":1}}},{"name":"whatsNew","translation":[0,-0.004070401191711426,0],"extras":{"meta_spatial":{"components":{"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"value":[0.8999999761581421,0.44999998807907104],"type":"Vector2","keyString":"dimensions"}},"com.meta.spatial.toolkit.Panel":{"panel":{"value":"@integer/7","type":"String","keyString":"panel"}}},"version":1}}},{"name":"mediaTypesFilter","translation":[0.49000000953674316,0,0],"extras":{"meta_spatial":{"components":{"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"value":[0.17499999701976776,0.49000000953674316],"type":"Vector2","keyString":"dimensions"}},"com.meta.spatial.toolkit.Panel":{"panel":{"value":"@integer/3","type":"String","keyString":"panel"}}},"version":1}}},{"name":"onboarding","extras":{"meta_spatial":{"components":{"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"value":[0.8999999761581421,0.44999998807907104],"type":"Vector2","keyString":"dimensions"}},"com.meta.spatial.toolkit.Panel":{"panel":{"value":"@integer/6","type":"String","keyString":"panel"}}},"version":1}}},{"name":"galleryMenu","translation":[0,0.2977507710456848,0],"extras":{"meta_spatial":{"components":{"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"value":[0.5,0.10000000149011612],"type":"Vector2","keyString":"dimensions"}},"com.meta.spatial.toolkit.Panel":{"panel":{"value":"@integer/2","type":"String","keyString":"panel"}}},"version":1}}},{"name":"gallery","children":[3,1,2,4],"extras":{"meta_spatial":{"components":{"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"value":[0.7799999713897705,0.49000000953674316],"type":"Vector2","keyString":"dimensions"}},"com.meta.spatial.toolkit.Grabbable":{},"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.Panel":{"panel":{"value":"@integer/1","type":"String","keyString":"panel"}},"com.meta.levinriegner.mediaview.LookAtHead":{"hasLooked":{"value":false,"type":"Boolean","keyString":"hasLooked"},"once":{"value":true,"type":"Boolean","keyString":"once"},"zOffset":{"value":1.1,"type":"Float","keyString":"zOffset"}}},"version":1}}}],"scenes":[{"name":"","nodes":[5,0]}],"scene":0,"asset":{"experience":false,"copyright":"","version":"2.0","generator":"","minVersion":"2.0"}} \ No newline at end of file +{"nodes":[{"extras":{"meta_spatial":{"entity_id":"privacyPopup","components":{"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"keyString":"dimensions","type":"Vector2","value":[0.20000000298023224,0.20000000298023224]}},"com.meta.levinriegner.mediaview.LookAtHead":{"zOffset":{"keyString":"zOffset","type":"Float","value":0.7}},"com.meta.spatial.toolkit.Panel":{"panel":{"keyString":"panel","type":"String","value":"@integer/5"}}},"version":1}},"name":"privacyPopup"},{"extras":{"meta_spatial":{"entity_id":"galleryMenu","components":{"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"keyString":"dimensions","type":"Vector2","value":[0.5,0.10000000149011612]}},"com.meta.spatial.toolkit.Panel":{"panel":{"keyString":"panel","type":"String","value":"@integer/2"}}},"version":1}},"translation":[0,0.2977507710456848,0],"name":"galleryMenu"},{"extras":{"meta_spatial":{"entity_id":"mediaTypesFilter","components":{"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"keyString":"dimensions","type":"Vector2","value":[0.17499999701976776,0.49000000953674316]}},"com.meta.spatial.toolkit.Panel":{"panel":{"keyString":"panel","type":"String","value":"@integer/3"}}},"version":1}},"translation":[0.49000000953674316,0,0],"name":"mediaTypesFilter"},{"extras":{"meta_spatial":{"entity_id":"whatsNew","components":{"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"keyString":"dimensions","type":"Vector2","value":[0.8999999761581421,0.44999998807907104]}},"com.meta.spatial.toolkit.Panel":{"panel":{"keyString":"panel","type":"String","value":"@integer/7"}}},"version":1}},"translation":[0,-0.004070401191711426,0],"name":"whatsNew"},{"extras":{"meta_spatial":{"entity_id":"onboarding","components":{"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"keyString":"dimensions","type":"Vector2","value":[0.8999999761581421,0.44999998807907104]}},"com.meta.spatial.toolkit.Panel":{"panel":{"keyString":"panel","type":"String","value":"@integer/6"}}},"version":1}},"name":"onboarding"},{"extras":{"meta_spatial":{"entity_id":"gallery","components":{"com.meta.spatial.toolkit.Visible":{"isVisible":{"value":false,"type":"Boolean","keyString":"isVisible"}},"com.meta.spatial.toolkit.Grabbable":{"type":{"keyString":"type","alias":"FACE","type":"GrabbableType","value":0},"maxHeight":{"keyString":"maxHeight","type":"Float","value":3.4028234663852886E38},"minHeight":{"keyString":"minHeight","type":"Float","value":-3.4028234663852886E38},"enabled":{"keyString":"enabled","type":"Boolean","value":true}},"com.meta.spatial.toolkit.PanelDimensions":{"dimensions":{"keyString":"dimensions","type":"Vector2","value":[0.7799999713897705,0.49000000953674316]}},"com.meta.levinriegner.mediaview.LookAtHead":{"zOffset":{"keyString":"zOffset","type":"Float","value":1.1},"once":{"keyString":"once","type":"Boolean","value":true}},"com.meta.spatial.toolkit.Panel":{"panel":{"keyString":"panel","type":"String","value":"@integer/1"}}},"version":1}},"children":[4,3,2,1],"name":"gallery"}],"scenes":[{"nodes":[5,0]}],"scene":0,"asset":{"minVersion":"2.0","version":"2.0"}} \ No newline at end of file diff --git a/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/gallery/view/GalleryView.kt b/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/gallery/view/GalleryView.kt index 4ae54b87..01dfc88f 100644 --- a/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/gallery/view/GalleryView.kt +++ b/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/gallery/view/GalleryView.kt @@ -142,7 +142,7 @@ private fun Header( Column { Text( text = stringResource(filter.titleResId()), - style = MaterialTheme.typography.titleMedium, + style = MaterialTheme.typography.titleMedium.copy(color = AppColor.White), ) Spacer(Modifier.size(Dimens.xSmall)) Text( @@ -221,6 +221,7 @@ private fun Header( text = { Text( fontSize = 10.sp, + color = AppColor.White, text = stringResource( when (option) { diff --git a/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/immersive/ImmersiveActivity.kt b/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/immersive/ImmersiveActivity.kt index 615e95f1..fe085d6d 100644 --- a/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/immersive/ImmersiveActivity.kt +++ b/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/immersive/ImmersiveActivity.kt @@ -17,6 +17,7 @@ import com.meta.spatial.core.SpatialFeature import com.meta.spatial.toolkit.PanelRegistration import com.meta.spatial.vr.LocomotionSystem import com.meta.spatial.vr.VRFeature +import com.meta.spatial.vr.VrInputSystemType import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow @@ -47,11 +48,12 @@ class ImmersiveActivity : ComponentAppSystemActivity(), PanelDelegate { private val activityScope = CoroutineScope(Dispatchers.Main) override fun registerFeatures(): List { - val features = mutableListOf(VRFeature(this)) - if (BuildConfig.DEBUG) { - features.add(CastInputForwardFeature(this)) - } - return features + // if (BuildConfig.DEBUG) { + // features.add(CastInputForwardFeature(this)) + // } + return listOf( + VRFeature(this, inputSystemType = VrInputSystemType.SIMPLE_CONTROLLER), + ) } override fun registerPanels(): List { diff --git a/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/immersive/PanelManager.kt b/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/immersive/PanelManager.kt index ca393659..cac5cfea 100644 --- a/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/immersive/PanelManager.kt +++ b/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/immersive/PanelManager.kt @@ -583,6 +583,11 @@ class PanelManager( return } panel.entity.setComponent(Visible(show)) + + if (show) { + panel.entity.setComponent(LookAtHead(once = true, zOffset = 1.0f)) + } + // Set media filters visibility getComposition() .tryGetNodeByName(GLXFConstants.NODE_NAME_MEDIA_FILTERS) diff --git a/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/permission/PermissionActivity.kt b/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/permission/PermissionActivity.kt index 40942991..cafb95f2 100644 --- a/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/permission/PermissionActivity.kt +++ b/Showcases/media_view/app/src/main/java/com/meta/levinriegner/mediaview/app/permission/PermissionActivity.kt @@ -230,7 +230,9 @@ private fun RequestPermissionRationale( Text( text = stringResource(id = R.string.storage_permission_rationale_title), textAlign = TextAlign.Center, - style = MaterialTheme.typography.titleMedium, + style = MaterialTheme.typography.titleMedium.copy( + color = AppColor.White, + ), ) Spacer(modifier = Modifier.height(Dimens.small)) Text( @@ -241,7 +243,9 @@ private fun RequestPermissionRationale( else R.string.storage_permission_rationale_description ), textAlign = TextAlign.Center, - style = MaterialTheme.typography.bodyMedium, + style = MaterialTheme.typography.bodyMedium.copy( + color = AppColor.White, + ), ) Spacer(modifier = Modifier.height(Dimens.large)) OutlinedButton( diff --git a/Showcases/media_view/gradle.properties b/Showcases/media_view/gradle.properties index c71812e0..3df8549c 100644 --- a/Showcases/media_view/gradle.properties +++ b/Showcases/media_view/gradle.properties @@ -26,4 +26,4 @@ kotlin.code.style=official # thereby reducing the size of the R class for that library android.nonTransitiveRClass=true # Common version for Meta Spatial SDK across the project -metaSpatialSdkVersion=0.7.0 +metaSpatialSdkVersion=0.8.0