File tree Expand file tree Collapse file tree
android/src/new/java/com/margelo/nitro/rive Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -56,6 +56,16 @@ class HybridViewModel(
5656 override val modelName: String
5757 get() = viewModelName ? : throw UnsupportedOperationException (NO_NAME_ERROR )
5858
59+ override fun getPropertyCountAsync (): Promise <Double > {
60+ val name = viewModelName ? : return Promise .rejected(UnsupportedOperationException (NO_NAME_ERROR ))
61+ return Promise .async { riveFile.getViewModelProperties(name).size.toDouble() }
62+ }
63+
64+ override fun getInstanceCountAsync (): Promise <Double > {
65+ val name = viewModelName ? : return Promise .rejected(UnsupportedOperationException (NO_NAME_ERROR ))
66+ return Promise .async { riveFile.getViewModelInstanceNames(name).size.toDouble() }
67+ }
68+
5969 // Deprecated: Use createInstanceByNameAsync instead
6070 override fun createInstanceByIndex (index : Double ): HybridViewModelInstanceSpec ? {
6171 val name = viewModelName ? : throw UnsupportedOperationException (NO_NAME_ERROR )
Original file line number Diff line number Diff line change @@ -32,6 +32,18 @@ class HybridViewModel: HybridViewModelSpec {
3232 }
3333 }
3434
35+ func getPropertyCountAsync( ) throws -> Promise < Double > {
36+ return Promise . async {
37+ Double ( try await self . file. getProperties ( of: self . vmName) . count)
38+ }
39+ }
40+
41+ func getInstanceCountAsync( ) throws -> Promise < Double > {
42+ return Promise . async {
43+ Double ( try await self . file. getInstanceNames ( of: self . vmName) . count)
44+ }
45+ }
46+
3547 private func createDefaultInstanceImpl( ) async throws -> ( any HybridViewModelInstanceSpec ) ? {
3648 let vmi = try await self . file. createViewModelInstance ( . viewModelDefault( from: . name( self . vmName) ) )
3749 return HybridViewModelInstance ( viewModelInstance: vmi, worker: self . worker)
You can’t perform that action at this time.
0 commit comments