Andotp: 3 dot menu moves up

Created on 1 Jun 2019  路  10Comments  路  Source: andOTP/andOTP

Check if all requirements are fulfilled otherwise the issue will be closed without any comment

  • Add details to fields below
  • Use search. Check if the issue is already reported before creating a new one.
    https://github.com/andOTP/andOTP/issues
  • Try again after clearing the apps data before posting (don't forget to backup)
  • Record a logcat: https://goo.gl/mc71vk
  • Bug reports without logcat will be closed (I can not reproduce every bug myself and I can not fix them without logs)
  • Delete this info block

General information

  • App version: 0.6.2
  • App source: Google Play
  • Android Version: 9.0
  • Custom ROM: N/A

Expected result

What is expected? Box does not move, so you can easliy seclect one of the menu items e.g Edit lable, edit tags, remove

What does happen instead?
Once you click the 3 dots the menu will jump up to the top

Logcat

Paste your logcat here (or use something like Pastbin for long logs)

Steps to reproduce

bug help wanted

Most helpful comment

The confirmation that it happens because of the non-standard time in the entry is a lot of help. Now I at least have a starting point for my debugging. Thanks a lot @marvinlehmann and @Leseratte10 !

All 10 comments

I can't reproduce this problem on my phone and I can't open your video, so I can't really debug this ...
@RichyHBM can you try and reproduce this issue?

updated the URL with the video

This is indeed very strange, but I have been unable to reproduce it on 3 different phones (and one Android Emulator) I tried this on...
Seems like I will have to do some more research on this.

Happened on my old S8+ if that helps; with around 46 2FA codes.

I just started using andOTP and also experienced this issue on my Honor 8 (Android 8.0.0).
After playing around I found a way to reproduce it. You just have to add enough entries to fill your screen and have [atleast?] one entry with a non default period (!=30s). This also "works" on the Android Emulator.

logcat:

2020-01-01 18:46:15.522 21036-21036/org.shadowice.flocke.andotp.dev D/skia: --- SkAndroidCodec::NewFromStream returned null
2020-01-01 18:46:15.526 21036-21036/org.shadowice.flocke.andotp.dev W/StaticLayout: maxLineHeight should not be -1.  maxLines:1 lineCount:1
2020-01-01 18:46:15.540 21036-21036/org.shadowice.flocke.andotp.dev D/skia: --- SkAndroidCodec::NewFromStream returned null
2020-01-01 18:46:16.533 21036-21036/org.shadowice.flocke.andotp.dev D/skia: --- SkAndroidCodec::NewFromStream returned null
2020-01-01 18:46:16.539 21036-21036/org.shadowice.flocke.andotp.dev W/StaticLayout: maxLineHeight should not be -1.  maxLines:1 lineCount:1
2020-01-01 18:46:16.543 21036-21036/org.shadowice.flocke.andotp.dev D/skia: --- SkAndroidCodec::NewFromStream returned null
2020-01-01 18:46:16.548 21036-21036/org.shadowice.flocke.andotp.dev W/StaticLayout: maxLineHeight should not be -1.  maxLines:1 lineCount:1
2020-01-01 18:46:16.566 21036-21036/org.shadowice.flocke.andotp.dev D/skia: --- SkAndroidCodec::NewFromStream returned null
2020-01-01 18:46:16.573 21036-21036/org.shadowice.flocke.andotp.dev D/skia: --- SkAndroidCodec::NewFromStream returned null
2020-01-01 18:46:17.525 21036-21036/org.shadowice.flocke.andotp.dev D/skia: --- SkAndroidCodec::NewFromStream returned null

EDIT:
Popup menu moves when notifyDataSetChanged() is called (https://github.com/andOTP/andOTP/blob/7c34318c407c4677d3afdf27bdeb998244759720/app/src/main/java/org/shadowice/flocke/andotp/View/EntriesCardAdapter.java#L174-L186) which happens more frequently when e.hasNonDefaultPeriod() is true, I guess?

I have that issue on my phone as well. Menu jumps down one step, then jumps up one step every second until it reaches the top. I also have enough entries to fill the screen, and one non-standard entry (Twitch).

Also, I can confirm that when I remove the Twitch entry from andOTP, the error is gone. Tested with another dummy entry, the problem is caused by the non-standard time of 10s instead of 30s, not by the different length.

Phone has MIUI 11.0.3.0 (= Android 10), AndOTP version 0.6.3.1-play. Pretty annoying and I've almost deleted entries multiple times.

Other than that andOTP is a great app and I hope this gets fixed soon.

The confirmation that it happens because of the non-standard time in the entry is a lot of help. Now I at least have a starting point for my debugging. Thanks a lot @marvinlehmann and @Leseratte10 !

Just coming here to report that this is still an issue in version 0.7.1.1-play.
I discovered the bug under similar circumstances.

  • I have a full screen of entries (6 total)
  • The last entry is a test entry with a 120 second timeout, while the rest are as default (30 seconds)
  • Removing the test entry that has the longer reset interval, resolves the issue.

I'm on an older device: LG V20
Android 8

Yeah, I was able to reproduce this with a test entry with a longer timeout now as well.

This seems to be an artifact that happens when the screen gets redrawn because of the timeout bar advancing while the menu is open.

This could be troublesome to fix, I will look into it. Maybe as a first step I could temporarily disable the screen/timeout bar refresh while the menu is open.

Try to set holder.setIsRecyclable(false); in public void onBindViewHolder(@NonNull DeviceViewHolder holder, int position). This worked for me in another project.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

MartinX3 picture MartinX3  路  4Comments

SkewedZeppelin picture SkewedZeppelin  路  4Comments

aph3rson picture aph3rson  路  6Comments

xiazeyu picture xiazeyu  路  3Comments

ageev picture ageev  路  4Comments