diff --git a/Assets/Scenes/QuestAppLauncher.unity b/Assets/Scenes/QuestAppLauncher.unity
index 0e02f23..5870a6e 100644
--- a/Assets/Scenes/QuestAppLauncher.unity
+++ b/Assets/Scenes/QuestAppLauncher.unity
@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
- m_IndirectSpecularColor: {r: 0.017265085, g: 0.037189834, b: 0.03553985, a: 1}
+ m_IndirectSpecularColor: {r: 0.017265823, g: 0.037191074, b: 0.035541035, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@@ -211,6 +211,164 @@ Light:
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
+--- !u!1 &129491541
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 129491542}
+ - component: {fileID: 129491544}
+ - component: {fileID: 129491543}
+ m_Layer: 5
+ m_Name: Text (TMP) (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &129491542
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 129491541}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1113839879}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 1043}
+ m_SizeDelta: {x: 200, y: 50}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &129491543
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 129491541}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_text: Hide Apks permanently by selecting and pressing B or Y on your controller.
+ Refresh afterwards.
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_outlineColor:
+ serializedVersion: 2
+ rgba: 4278190080
+ m_fontSize: 40
+ m_fontSizeBase: 40
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_textAlignment: 258
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_firstOverflowCharacterIndex: -1
+ m_linkedTextComponent: {fileID: 0}
+ m_isLinkedTextComponent: 0
+ m_isTextTruncated: 0
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_ignoreRectMaskCulling: 0
+ m_ignoreCulling: 1
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_VertexBufferAutoSizeReduction: 1
+ m_firstVisibleCharacter: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: -1294.6085, y: 0, z: -1298.6443, w: 0}
+ m_textInfo:
+ textComponent: {fileID: 129491543}
+ characterCount: 94
+ spriteCount: 0
+ spaceCount: 14
+ wordCount: 15
+ linkCount: 0
+ lineCount: 1
+ pageCount: 1
+ materialCount: 1
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_spriteAnimator: {fileID: 0}
+ m_hasFontAssetChanged: 0
+ m_subTextObjects:
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &129491544
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 129491541}
+ m_CullTransparentMesh: 0
--- !u!1 &159978199
GameObject:
m_ObjectHideFlags: 0
@@ -363,6 +521,185 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 174121771}
m_PrefabAsset: {fileID: 0}
+--- !u!1 &181501730
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 181501731}
+ - component: {fileID: 181501737}
+ - component: {fileID: 181501736}
+ - component: {fileID: 181501735}
+ - component: {fileID: 181501734}
+ - component: {fileID: 181501733}
+ - component: {fileID: 181501732}
+ m_Layer: 5
+ m_Name: Button_Delete
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &181501731
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 181501730}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1113839879}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -2293, y: 373}
+ m_SizeDelta: {x: 900, y: 500}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!65 &181501732
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 181501730}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 1000, y: 600, z: 0.3}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &181501733
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 181501730}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 104e8df87382026468cc49b4d5fd64fa, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &181501734
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 181501730}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Delegates:
+ - eventID: 4
+ callback:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 181501733}
+ m_MethodName: DeleteExcludedApksFile
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+--- !u!114 &181501735
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 181501730}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 0, b: 0, a: 1}
+ m_HighlightedColor: {r: 0.48235294, g: 0.46666667, b: 0.46666667, a: 1}
+ m_PressedColor: {r: 0.48235297, g: 0.4666667, b: 0.4666667, a: 1}
+ m_SelectedColor: {r: 0.48235294, g: 0.46666667, b: 0.46666667, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 181501736}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &181501736
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 181501730}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: 81054d9c76358444c81ee213786e5e7e, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &181501737
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 181501730}
+ m_CullTransparentMesh: 0
--- !u!1 &340813588
GameObject:
m_ObjectHideFlags: 0
@@ -725,7 +1062,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: b4a9c50de96f6d04386957f4741ac65c, type: 3}
m_Name:
m_EditorClassIdentifier:
- trackingSpace: {fileID: 0}
+ trackingSpace: {fileID: 881994610}
joyPadClickButton: 8192
performSphereCastForGazepointer: 0
matchNormalOnPhysicsColliders: 0
@@ -952,6 +1289,10 @@ RectTransform:
m_LocalScale: {x: 0.0024, y: 0.003, z: 1}
m_Children:
- {fileID: 1684574659}
+ - {fileID: 1570346009}
+ - {fileID: 181501731}
+ - {fileID: 1629030252}
+ - {fileID: 129491542}
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -999,7 +1340,7 @@ Canvas:
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
- m_AdditionalShaderChannelsFlag: 0
+ m_AdditionalShaderChannelsFlag: 25
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
@@ -1033,7 +1374,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
trackingSpace: {fileID: 881994610}
primaryButton: 8192
- secondaryButton: 1024
+ secondaryButton: 10
excludeLayers:
serializedVersion: 2
m_Bits: 0
@@ -1093,7 +1434,18 @@ MonoBehaviour:
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
onSecondarySelect:
m_PersistentCalls:
- m_Calls: []
+ m_Calls:
+ - m_Target: {fileID: 1113839883}
+ m_MethodName: OnSelectedPressedBorY
+ m_Mode: 0
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
m_TypeName: ControllerSelection.OVRRawRaycaster+SelectionCallback, Assembly-CSharp,
Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
activeController: 0
@@ -1200,6 +1552,342 @@ Transform:
type: 3}
m_PrefabInstance: {fileID: 2047659140}
m_PrefabAsset: {fileID: 0}
+--- !u!1 &1570346008
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1570346009}
+ - component: {fileID: 1570346014}
+ - component: {fileID: 1570346013}
+ - component: {fileID: 1570346012}
+ - component: {fileID: 1570346011}
+ - component: {fileID: 1570346010}
+ - component: {fileID: 1570346015}
+ m_Layer: 5
+ m_Name: Button_Refresh
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1570346009
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1570346008}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1113839879}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 2245, y: 376}
+ m_SizeDelta: {x: 900, y: 500}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1570346010
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1570346008}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 104e8df87382026468cc49b4d5fd64fa, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!114 &1570346011
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1570346008}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0b148fe25e99eb48b9724523833bab1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Delegates:
+ - eventID: 4
+ callback:
+ m_PersistentCalls:
+ m_Calls:
+ - m_Target: {fileID: 1570346010}
+ m_MethodName: RefreshScene
+ m_Mode: 1
+ m_Arguments:
+ m_ObjectArgument: {fileID: 0}
+ m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
+ m_IntArgument: 0
+ m_FloatArgument: 0
+ m_StringArgument:
+ m_BoolArgument: 0
+ m_CallState: 2
+ m_TypeName: UnityEngine.EventSystems.EventTrigger+TriggerEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+--- !u!114 &1570346012
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1570346008}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.48235294, g: 0.46666667, b: 0.46666667, a: 1}
+ m_PressedColor: {r: 0.48235297, g: 0.4666667, b: 0.4666667, a: 1}
+ m_SelectedColor: {r: 0.48235294, g: 0.46666667, b: 0.46666667, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1570346013}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+ Culture=neutral, PublicKeyToken=null
+--- !u!114 &1570346013
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1570346008}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_Sprite: {fileID: 21300000, guid: f9f4433eaad031e42a0a901ab369865b, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1570346014
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1570346008}
+ m_CullTransparentMesh: 0
+--- !u!65 &1570346015
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1570346008}
+ m_Material: {fileID: 0}
+ m_IsTrigger: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_Size: {x: 1000, y: 600, z: 0.3}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &1629030251
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1629030252}
+ - component: {fileID: 1629030254}
+ - component: {fileID: 1629030253}
+ m_Layer: 5
+ m_Name: Text (TMP)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1629030252
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1629030251}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1113839879}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: -2575, y: 0}
+ m_SizeDelta: {x: 200, y: 50}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1629030253
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1629030251}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+ Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+ m_text: 'Attention: This will reset all exluded Apks!'
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_outlineColor:
+ serializedVersion: 2
+ rgba: 4278190080
+ m_fontSize: 40
+ m_fontSizeBase: 40
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 72
+ m_fontStyle: 0
+ m_textAlignment: 257
+ m_characterSpacing: 0
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_enableWordWrapping: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_firstOverflowCharacterIndex: -1
+ m_linkedTextComponent: {fileID: 0}
+ m_isLinkedTextComponent: 0
+ m_isTextTruncated: 0
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_ignoreRectMaskCulling: 0
+ m_ignoreCulling: 1
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_VertexBufferAutoSizeReduction: 1
+ m_firstVisibleCharacter: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: -676.69885, w: 0}
+ m_textInfo:
+ textComponent: {fileID: 1629030253}
+ characterCount: 44
+ spriteCount: 0
+ spaceCount: 6
+ wordCount: 7
+ linkCount: 0
+ lineCount: 1
+ pageCount: 1
+ materialCount: 1
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_spriteAnimator: {fileID: 0}
+ m_hasFontAssetChanged: 0
+ m_subTextObjects:
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ - {fileID: 0}
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1629030254
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1629030251}
+ m_CullTransparentMesh: 0
--- !u!1 &1684574658
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/ButtonHandler.cs b/Assets/Scripts/ButtonHandler.cs
new file mode 100644
index 0000000..b6ba542
--- /dev/null
+++ b/Assets/Scripts/ButtonHandler.cs
@@ -0,0 +1,19 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+
+public class ButtonHandler : MonoBehaviour
+{
+ public void RefreshScene()
+ {
+ Debug.Log("Scene refreshed");
+ SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
+ }
+
+ public void DeleteExcludedApksFile()
+ {
+ Debug.Log("Delete Excluded Apk List");
+ QuestAppLauncher.GridPopulation.DeleteExcludedApksFile();
+ }
+}
diff --git a/Assets/Scripts/ButtonHandler.cs.meta b/Assets/Scripts/ButtonHandler.cs.meta
new file mode 100644
index 0000000..4350e57
--- /dev/null
+++ b/Assets/Scripts/ButtonHandler.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 104e8df87382026468cc49b4d5fd64fa
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/GridPopulation.cs b/Assets/Scripts/GridPopulation.cs
index 2d26987..7ab35f6 100644
--- a/Assets/Scripts/GridPopulation.cs
+++ b/Assets/Scripts/GridPopulation.cs
@@ -8,6 +8,7 @@ using UnityEngine.XR;
using System;
using Oculus.Platform;
using TMPro;
+using UnityEngine.SceneManagement;
namespace QuestAppLauncher
{
@@ -18,6 +19,9 @@ namespace QuestAppLauncher
// File name of app name overrides
const string AppNameOverrideFile = "appnames.txt";
+ // File name of excluded package names
+ const string ExcludedPackagesFile = "excludedpackages.txt";
+
// Extension search for icon overrides
const string IconOverrideExtSearch = "*.jpg";
@@ -49,7 +53,7 @@ namespace QuestAppLauncher
#region Private Functions
///
- /// Static method for lauching an Android app
+ /// Static method for launching an Android app
///
///
static public void LaunchApp(string packageId)
@@ -82,6 +86,37 @@ namespace QuestAppLauncher
}
}
+ ///
+ /// Static method to add a package name to the excludedFile
+ ///
+ ///
+ static public void AddAppToExcludedFile(string packageName)
+ {
+ var persistentDataPath = UnityEngine.Application.persistentDataPath;
+ var excludedPackageNamesFilePath = Path.Combine(persistentDataPath, ExcludedPackagesFile);
+
+ using (StreamWriter writer = File.AppendText(excludedPackageNamesFilePath))
+ {
+ writer.WriteLine(packageName);
+ Debug.Log($"Added package {packageName} to the excluded file {excludedPackageNamesFilePath}");
+ }
+ }
+
+ ///
+ /// Static method to delete the excludedFile
+ ///
+ ///
+ static public void DeleteExcludedApksFile()
+ {
+ var persistentDataPath = UnityEngine.Application.persistentDataPath;
+ var excludedPackageNamesFilePath = Path.Combine(persistentDataPath, ExcludedPackagesFile);
+
+ if (File.Exists(excludedPackageNamesFilePath))
+ File.Delete(excludedPackageNamesFilePath);
+
+ SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
+ }
+
///
/// Populate the grid from installed apps
///
@@ -96,13 +131,29 @@ namespace QuestAppLauncher
{
// Dictionary to hold package name -> app index, app name
var packageNameToAppName = new Dictionary();
+ var excludedPackageNames = new HashSet();
// Get # of installed apps
int numApps = currentActivity.Call("getSize");
Debug.Log("# installed apps: " + numApps);
- // Get current package name (to filter this out))
- var currentPackageName = currentActivity.Call("getPackageName");
+ // Add current package name to excludedPackageNames to filter it out
+ excludedPackageNames.Add(currentActivity.Call("getPackageName"));
+
+ //This is a file containing packageNames that will be excluded
+ var excludedPackageNamesFilePath = Path.Combine(persistentDataPath, ExcludedPackagesFile);
+ if (File.Exists(excludedPackageNamesFilePath))
+ {
+ Debug.Log("Found file: " + excludedPackageNamesFilePath);
+ string[] excludedPackages = File.ReadAllLines(excludedPackageNamesFilePath);
+ foreach (string excludedPackage in excludedPackages)
+ {
+ if (!string.IsNullOrEmpty(excludedPackage))
+ {
+ excludedPackageNames.Add(excludedPackage);
+ }
+ }
+ }
// Get installed package and app names
for (int i = 0; i < numApps; i++)
@@ -110,12 +161,14 @@ namespace QuestAppLauncher
var packageName = currentActivity.Call("getPackageName", i);
var appName = currentActivity.Call("getAppName", i);
- if (packageName.Equals(currentPackageName))
+ if (excludedPackageNames.Contains(packageName))
{
- // Skip current package
+ Debug.Log("Skipping [" + i + "] package: " + packageName + ", name: " + appName);
+ // Skip exluded package
continue;
}
+
packageNameToAppName.Add(packageName, (i, appName));
Debug.Log("[" + i + "] package: " + packageName + ", name: " + appName);
}
diff --git a/Assets/Scripts/OnInteraction.cs b/Assets/Scripts/OnInteraction.cs
index 79c440e..3972dea 100644
--- a/Assets/Scripts/OnInteraction.cs
+++ b/Assets/Scripts/OnInteraction.cs
@@ -41,6 +41,17 @@ public class OnInteraction : MonoBehaviour
}
}
+ public void OnSelectedPressedBorY(Transform t)
+ {
+ var appEntry = t.gameObject.GetComponent("AppEntry") as AppEntry;
+ if (null != appEntry)
+ {
+ // Launch app
+ Debug.Log("Hiding: " + appEntry.appName + " (package id: " + appEntry.packageId + ")");
+ QuestAppLauncher.GridPopulation.AddAppToExcludedFile(appEntry.packageId);
+ }
+ }
+
void EnableBorder(Transform t, bool enable)
{
var border = t.Find("Border");
diff --git a/Assets/delete.png b/Assets/delete.png
new file mode 100644
index 0000000..6158b70
Binary files /dev/null and b/Assets/delete.png differ
diff --git a/Assets/delete.png.meta b/Assets/delete.png.meta
new file mode 100644
index 0000000..3b5f36f
--- /dev/null
+++ b/Assets/delete.png.meta
@@ -0,0 +1,115 @@
+fileFormatVersion: 2
+guid: 81054d9c76358444c81ee213786e5e7e
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 10
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: 1
+ wrapV: 1
+ wrapW: -1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/refresh.png b/Assets/refresh.png
new file mode 100644
index 0000000..8d69271
Binary files /dev/null and b/Assets/refresh.png differ
diff --git a/Assets/refresh.png.meta b/Assets/refresh.png.meta
new file mode 100644
index 0000000..9e811b3
--- /dev/null
+++ b/Assets/refresh.png.meta
@@ -0,0 +1,115 @@
+fileFormatVersion: 2
+guid: f9f4433eaad031e42a0a901ab369865b
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 10
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: 1
+ wrapV: 1
+ wrapW: -1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant: