Describe the bug.
I enter an existing steemian account in the column for account name and clicked on the sign in button without any key. The app load and pop up the unclaimed balance in the user account, and ask if I want to claim or not. When I clicked on claim, the app crashed.
Steps to reproduce.
Launch the application
Enter an existing steemian account. E.g. @fego
Click on sign in, and wait for it to load
It will pop up the pending balance of the steemian, if he/she has one.
Click on ok to claim
The app will crash
Expected behavior
After entering insteem with a steem user name and a pop-up displaying claim steem and sbd was seen, I didn't expect the app to crash when I clicked on okay. I expected to see something like ''can't claim reward'' since the account takes any username.
Screen recording
Test environment
Device; Itel
OS; Android 6.1
Software version; Insteem v1.5.0
Insteem github repo: https://github.com/hispeedimagins/steem
My github link: https://github.com/darewealth
Note: I reported the bug on v,1.5.0 but the issue persisted on v,1.5.1. If you have it installed on your device, you will need to clear your data, or uninstall and reinstall to get the real problem.
Log
04-12 11:40:50.329 22252 22252 E AndroidRuntime: android.view.InflateException: Binary XML file line #27: Binary XML file line #27: Error inflating class TextView
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.widget.Toast.makeText(Toast.java:263)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at com.insteem.ipfreely.steem.HelperClasses.GetDynamicAndBlock.GetDynamicGlobalProperties(GetDynamicAndBlock.kt:79)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at com.insteem.ipfreely.steem.MainActivity$openRewardAlert$1.onClick(MainActivity.kt:624)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage(AlertController.java:167)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5452)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:671)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #27: Error inflating class TextView
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: ... 12 more
04-12 11:40:50.329 22252 22252 E AndroidRuntime: Caused by: java.lang.ArrayIndexOutOfBoundsException: length=16; index=968
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.content.res.StringBlock.get(StringBlock.java:65)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.content.res.XmlBlock$Parser.getPooledString(XmlBlock.java:458)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.content.res.TypedArray.loadStringValueAt(TypedArray.java:1151)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.content.res.TypedArray.getString(TypedArray.java:195)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at androidx.appcompat.widget.TintTypedArray.getString(TintTypedArray.java:143)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at androidx.appcompat.widget.AppCompatTextHelper.updateTypefaceAndStyle(AppCompatTextHelper.java:274)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at androidx.appcompat.widget.AppCompatTextHelper.loadFromAttributes(AppCompatTextHelper.java:177)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at androidx.appcompat.widget.AppCompatTextView.<init>(AppCompatTextView.java:93)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at androidx.appcompat.widget.AppCompatTextView.<init>(AppCompatTextView.java:83)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at androidx.appcompat.app.AppCompatViewInflater.createTextView(AppCompatViewInflater.java:177)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at androidx.appcompat.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:102)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at androidx.appcompat.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1266)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at androidx.appcompat.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1316)
04-12 11:40:50.329 22252 22252 E AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746)```
Thanks for your contribution @darewealth
Although it's clear to find the issue is related to claiming balances when the correct keys haven't been provided, I don't think the way it was structured around fego was the best approach, there should have been a prerequisite that states that you should attempt to sign in with an account that has a current reward balance. This is because your steps become harder to understand without this information provided.
The application has many issue with the steps you mention and overall I believe it would be better if the authentication only allowed you into the application once a posting key had been provided for the relevant username.
Once again, thanks for your contribution.
Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.
To view those questions and the relevant answers related to your post, click here.
Need help? Chat with us on Discord.
[utopian-moderator]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you for your review, @tobias-g! Keep up the good work!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @darewealth! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
To support your work, I also upvoted your post!
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hi, @darewealth!
You just got a 1.01% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hi @darewealth!
Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey, @darewealth!
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!
Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).
Want to chat? Join us on Discord https://discord.gg/h52nFrV.
Vote for Utopian Witness!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit