Skip to content
This repository has been archived by the owner on Dec 28, 2023. It is now read-only.

Legacy project crash when run against various Target versions #288

Closed
axa88 opened this issue May 3, 2020 · 11 comments
Closed

Legacy project crash when run against various Target versions #288

axa88 opened this issue May 3, 2020 · 11 comments
Labels
bug Something isn't working

Comments

@axa88
Copy link

axa88 commented May 3, 2020

Describe the bug
This may well be a framework bug rather than CircularUI but i cannot reproduce on other than wearable.

Programming will function correctly on target Tizen4 on the v4 emulator.
Running this on the Tizen 5.5 emulator will hang when launching debug.

Attempting to use same programming targeting Tizen 5.5 on v4 emulator will hang when launching debug. On v5.5 emulators the programming will crash after attempting to update the Page content.

To Reproduce
Steps to reproduce the behavior:
Using programming in repo
https://github.com/axa88/TizenWearablePageSwitchTests

  1. Set startup project TizenWearablePageSwitchTests (Tizen 4 project)

  2. Run project on v4 emulator.

  3. When startup page loads, select an item in CircleListView (home or job)

  4. Observe this projects switches page with NO problem.
    image
    image

  5. Run the same project on v 5.5 emulator

  6. Observe hang when launching debug
    image
    (is v4 target compatible with 5.5 emulator?)

  7. Set startup project to Tizen55WearablePageSwitch (Tizen 5.5 project)

  8. Run project on v4 emulator

  9. Observe hang when launching debug
    image
    (is v5.5 target compatible with 4 emulator?)

  10. Run Tizen55WearablePageSwitch on v5.5 emulator

  11. If/when startup page loads, select an item in the CircleListView ("home" or "job")

  12. Observe project crash when attempt to switch page

Expected behavior
Unless there is documented breakage, it is expected that a project targeted Tizen 5.5 project will run the same programming with the same function when targeting Tizen 4.0.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):
image
image
image
image

  • Tizen.CircularUI Version1.4.0

Additional context
Perhaps not CircularUI related as limited test on Mobile target hinted same behavior.

@axa88 axa88 added the bug Something isn't working label May 3, 2020
@axa88 axa88 changed the title Legacy project crash when run Legacy project crash when run against various Target versions May 4, 2020
@jkpu
Copy link
Contributor

jkpu commented May 6, 2020

Same issue is reported tizen .net forum.
https://developer.tizen.org/forums/tizen-.net/what-recommended-tooling-develop-tizen.net-applications-going-forward

This issue is not related CircularUI nuget. Maybe it can be related emulator or Native API backward compatibility.

@axa88
Copy link
Author

axa88 commented May 6, 2020

This issue is not related CircularUI nuget. Maybe it can be related emulator or Native API backward compatibility.

@jkpu
Yes this is same issue.
Could you help forward this issue to correct place, I agree it probably is not CircularUI library related. Sample provided will crash without exception on wearable, and similar code will crash on mobile emulator, so I cannot catch anything to get additional information.

@rookiejava
Copy link
Contributor

I'm not sure yet, but it seems to be an internal problem with the Tizen 5.5 native UI framework.

In more detail, the problem seems to occur when using TapGestureRecognizer with ListView (even CircleListView), ViewCell and StackLayout.

So, I recommend using ListView.ItemSelected event instead of TapGestureRecognizer until more specific cause is identified.

(I've checked that the page switched correctly by using ItemSelected event, on Tizen 5.5)

/cc @arosis78 Could you please take look on this?

@axa88
Copy link
Author

axa88 commented May 6, 2020

(I've checked that the page switched correctly by using ItemSelected event, on Tizen 5.5)

I confirm both programming for API4 and API6 will run on v5.5 emulator when removing TapGestureRecognizer but API6 programming will not run on v 4 emulator.
Maybe that is expected?

@rookiejava
Copy link
Contributor

rookiejava commented May 7, 2020

Just like android, Tizen's API Level means that uniquely identifies the platform API revision provided by a version of the Tizen.

The table below specifies the API Level supported by each version of Tizen platform.

Platform Version API Level TFMs
Tizen 4.0 API4 tizen40
Tizen 5.0 API5 tizen50
Tizen 5.5 API6 tizen60

Applications can use a manifest element (api-version) to describe the API Level under which the application is able to run.

<manifest xmlns="http://tizen.org/ns/packages" api-version="4" ..../>

When the user attempts to install an application, the Tizen platform checks the api-version in the application's manifest (tizen-manifest.xml). The Tizen platform allows the installation to begin only if api-version value must be less than or equal to the Tizen platform's API Level.

So if you try to run the application declared as API6 on tizen 4.0 platform (platform's API level is API4), this is not allowed. (The opposite is possible because the Tizen application are generally forward compatible with new version of the Tizen platform.)

@axa88
Copy link
Author

axa88 commented May 7, 2020

Im very glad to have variable data in VS debug now using emulator v5.5.

@axa88
Copy link
Author

axa88 commented Jun 24, 2020

@rookiejava

Is there a plan to support or fix TapGestureRecognizer for use with lists?

@rookiejava
Copy link
Contributor

Is there a plan to support or fix TapGestureRecognizer for use with lists?

Sure. As I mentioned above, this is a internal platform issue. It is expected to be resolved when a new version of the 5.5 emulator is released. (I don't know the exact time, but I expect it will be updated soon.)

And, when I checked it in the latest 5.5 binary internally, I confirmed that the example you attached works fine.

@axa88
Copy link
Author

axa88 commented Aug 28, 2020

@rookiejava

When will new 5.5 emulator be released?
If no way for me to track this, what is the release verison that has this fix?

@rookiejava
Copy link
Contributor

@axa88
As you can see here, Tizen 5.5 public M3 released yesterday. It doesn't look like the emulator binary has been updated yet, but I expect it to be updated soon.

@rookiejava
Copy link
Contributor

Alternatively, you can directly download and create an emulator image in the following way.

  1. Download the latest emulator binary here.
  2. Extract the file (tizen-5.5-unified_20200812.1_wearable-emulator-circle.tar.gz).
  3. Run the Emulator Manager.
  4. Click the '+ Create' button to create a new emulator image.
  5. Choose the wearable-5-5-circle-x86(basic) and Click Next
    image
  6. Select the Image format as "raw" and enter the directory path where you extracted the compressed file in step 2.
    image
    image
  7. Click Next.
    image
  8. Click Next.
    image
  9. Click Complete.
    image

Enjoy!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants