A crash appears when you click to convert, please help to deal with it, thank you。
l
long junhao
started a topic
almost 3 years ago
Dear MyScript :
A crash appears when you click to convert, please help to deal with it, thank you。
First open the ERASER function in InputController.java, as shown below:
Then write the formula (or percent sign, root sign) on the Math interface, and then use the eraser to erase the light gray content, as shown in the red box below:
Then click the convert button to appear the crash, the crash is as follows:
Thank you,
Best regards,
longjunhao
Best Answer
G
Gwenaelle @MyScript
said
almost 3 years ago
Dear Longjunhao
Thank you for your update.
I was mislead as the issue is not present with a math part in the GetStarted example. But, I was able to reproduce your issue with the demo example.
This issue is fixed in the next iink release that should be launched within the next few weeks.
In the meantime, if you only use Math in your application you might consider building your application based on the GetStarted example.
Depending whether you want to erase a stroke doing a gesture, of if you want a rubber: -In the first case, doing an erasure or scratch out, it will normally erase the stroke out the box. -In the second case, your shall ensure the "iinkPointerType" to set the iinkPointerType to "PointerType.ERASER". (not to use a MotionEvent). You can refer to following post:
1. I have set the eraser mode by the following method: In the handleOnTouchForPointer function, set iinkPointerType to ERASER: iinkPointerType = PointerType.ERASER.
2. When I erase the calculation result in the eraser mode, such as the light gray content in the screenshot below, and then perform the convert operation, a crash will appear.
How can I solve this crash?
crash:
Best regards,
longjunhao
l
long junhao
said
almost 3 years ago
Do you understand my question? Our company wants to experience this function as soon as possible, looking forward to your support, thank you very much
G
Gwenaelle @MyScript
said
almost 3 years ago
Dear Long Junhao,
Thank you for your update.
We have not been able to reproduce your issue.
In order to implement a rubber, here is what you can do, starting from the GetStarted and UIReferenceImplementation:
In the UIReferenceImplementation InputController class, you can add a new input mode ERASER with following line
public static final int INPUT_MODE_ERASER = 3;
Then in the handleOnTouchForPointer method of the InputController you add the mapping between this new input mode and the corresponding PointerType
if (inputMode == INPUT_MODE_FORCE_PEN)
{
iinkPointerType = PointerType.PEN;
}
else if (inputMode == INPUT_MODE_FORCE_TOUCH)
{
iinkPointerType = PointerType.TOUCH;
}
else if (inputMode == INPUT_MODE_ERASER)
{
iinkPointerType = PointerType.ERASER;
}
else
Then what you should do is when switching to this ERASER mode using for instance a new eraser button to switch from input pen to input eraser in the MainActivity, you would have to add a new case in the onClick method:
case R.id.button_input_mode_eraser:
setInputMode(InputController.INPUT_MODE_ERASER);
break;
Best regards,
Gwenaëlle
l
long junhao
said
almost 3 years ago
Dear Gwenaëlle,
thank you for your help.
According to the plan you provided,I have successfully debugged in the demo. but when I am in ERASER mode, after deleting the "=3" in the screenshot below, and then clicking the "convert" button, the crash still appears. How can I avoid this crash?
The crash log is as follows:
2020-07-09 10:31:43.409 5033-5033/com.myscript.iink.demo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.myscript.iink.demo, PID: 5033
java.lang.RuntimeException: internal error
at com.myscript.iink.NativeFunctions.convert(Native Method)
at com.myscript.iink.Editor.convert(Editor.java:904)
at com.myscript.iink.demo.DocumentController.convert(DocumentController.java:380)
at com.myscript.iink.demo.MainActivity.onOptionsItemSelected(MainActivity.java:224)
at android.app.Activity.onMenuItemSelected(Activity.java:3464)
at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:436)
at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:196)
at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)
at android.support.v7.app.AppCompatDelegateImpl.onMenuItemSelected(AppCompatDelegateImpl.java:888)
at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)
at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)
at android.support.v7.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
at android.widget.AdapterView.performItemClick(AdapterView.java:318)
at android.widget.AbsListView.performItemClick(AbsListView.java:1181)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3150)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6552)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Best regards,
longjunhao
G
Gwenaelle @MyScript
said
almost 3 years ago
Answer
Dear Longjunhao
Thank you for your update.
I was mislead as the issue is not present with a math part in the GetStarted example. But, I was able to reproduce your issue with the demo example.
This issue is fixed in the next iink release that should be launched within the next few weeks.
In the meantime, if you only use Math in your application you might consider building your application based on the GetStarted example.
long junhao
Dear MyScript :
A crash appears when you click to convert, please help to deal with it, thank you。
First open the ERASER function in InputController.java, as shown below:
Then write the formula (or percent sign, root sign) on the Math interface, and then use the eraser to erase the light gray content, as shown in the red box below:
Then click the convert button to appear the crash, the crash is as follows:
Thank you,
Best regards,
longjunhao
Dear Longjunhao
Thank you for your update.
I was mislead as the issue is not present with a math part in the GetStarted example. But, I was able to reproduce your issue with the demo example.
This issue is fixed in the next iink release that should be launched within the next few weeks.
In the meantime, if you only use Math in your application you might consider building your application based on the GetStarted example.
Best regards,
Gwenaëlle
- Oldest First
- Popular
- Newest First
Sorted by Oldest FirstGwenaelle @MyScript
Dear Long Junhao,
Thank you for contacting us.
I am not sure to understand what you want to do.
Depending whether you want to erase a stroke doing a gesture, of if you want a rubber:
-In the first case, doing an erasure or scratch out, it will normally erase the stroke out the box.
-In the second case, your shall ensure the "iinkPointerType" to set the iinkPointerType to "PointerType.ERASER". (not to use a MotionEvent). You can refer to following post:
-https://developer-support.myscript.com/support/discussions/topics/16000023289
-https://developer-support.myscript.com/support/discussions/topics/16000023229
Best regards,
Gwenaëlle
long junhao
Dear Gwenaëlle,
Thank you for your reply
1. I have set the eraser mode by the following method: In the handleOnTouchForPointer function, set iinkPointerType to ERASER: iinkPointerType = PointerType.ERASER.
2. When I erase the calculation result in the eraser mode, such as the light gray content in the screenshot below, and then perform the convert operation, a crash will appear.
How can I solve this crash?
crash:
Best regards,
longjunhao
long junhao
Do you understand my question? Our company wants to experience this function as soon as possible, looking forward to your support, thank you very much
Gwenaelle @MyScript
Dear Long Junhao,
Thank you for your update.
We have not been able to reproduce your issue.
In order to implement a rubber, here is what you can do, starting from the GetStarted and UIReferenceImplementation:
In the UIReferenceImplementation InputController class, you can add a new input mode ERASER with following line
Then in the handleOnTouchForPointer method of the InputController you add the mapping between this new input mode and the corresponding PointerType
Then what you should do is when switching to this ERASER mode using for instance a new eraser button to switch from input pen to input eraser in the MainActivity, you would have to add a new case in the onClick method:
Best regards,
Gwenaëlle
long junhao
Dear Gwenaëlle,
thank you for your help.
According to the plan you provided,I have successfully debugged in the demo. but when I am in ERASER mode, after deleting the "=3" in the screenshot below, and then clicking the "convert" button, the crash still appears. How can I avoid this crash?
The crash log is as follows:
2020-07-09 10:31:43.409 5033-5033/com.myscript.iink.demo E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.myscript.iink.demo, PID: 5033
java.lang.RuntimeException: internal error
at com.myscript.iink.NativeFunctions.convert(Native Method)
at com.myscript.iink.Editor.convert(Editor.java:904)
at com.myscript.iink.demo.DocumentController.convert(DocumentController.java:380)
at com.myscript.iink.demo.MainActivity.onOptionsItemSelected(MainActivity.java:224)
at android.app.Activity.onMenuItemSelected(Activity.java:3464)
at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:436)
at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:196)
at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:109)
at android.support.v7.app.AppCompatDelegateImpl.onMenuItemSelected(AppCompatDelegateImpl.java:888)
at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)
at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)
at android.support.v7.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
at android.widget.AdapterView.performItemClick(AdapterView.java:318)
at android.widget.AbsListView.performItemClick(AbsListView.java:1181)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3150)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6552)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Best regards,
longjunhao
Gwenaelle @MyScript
Dear Longjunhao
Thank you for your update.
I was mislead as the issue is not present with a math part in the GetStarted example. But, I was able to reproduce your issue with the demo example.
This issue is fixed in the next iink release that should be launched within the next few weeks.
In the meantime, if you only use Math in your application you might consider building your application based on the GetStarted example.
Best regards,
Gwenaëlle