Insteem version 1.5.1; App crashed when I clicked on claim reward after login in with a user name

in #utopian-io5 years ago (edited)

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)```
Sort:  

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]

Thank you for your review, @tobias-g! Keep up the good work!

Congratulations @darewealth! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published more than 200 posts. Your next target is to reach 250 posts.

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!

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.

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

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!

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 64303.16
ETH 3137.29
USDT 1.00
SBD 3.97