Android client: general / beta discussion

it’s currently half way there. setting starred or published is going to sync back but unstarring/unpublishing won’t.

there’s no way to know whether the articles were starred/published before, only the fact that the record was locally modified is tracked in offline database, this limitation avoids syncing hundreds of article ids every time you go online while possibly unmarking things that got set while device was offline.

it shouldn’t be that hard to add two more tracking fields for this i think.

e: tfw no lambda callbacks in java 7 :pensive:

1.224

  • properly track and sync modification of all relevant article fields while offline (i.e. unread, marked, published)

Hi Fox,

First off thanks for making an offline mode. I recall back in the day your view was people should just get a data plan :stuck_out_tongue:

Anyway I notice one small, low priority glitch.

After going offline if you press the android back button the left nav goes back to the pre offline state and shows that you are online. You then see all the articles, even the ones you have not downloaded. A restart of the app fixes this. I don’t know much about Android but this may be as easy to fix as purging history?

App Version: 1.224 (459)
Hardware: Pixel 2

it was always there, i just added a few features

thanks, i’ll check it out. should be easy to fix i think.

should be fixed in the next beta

1.227

  • maybe memory usage improvements, idk
  • the above thing fixed

i’ll look for new crashes for a day or two and then push this to stable

btw just as a reference google tells me there’s a 43% crash reduction with the latest release, i guess i did fix some some shit huh

11hfDzrN

new beta build (1.259) is going to be up soon, the only change is hopefully reducing memory usage of loaded images, at least going by android studio profiler

this might mitigate the issue reported in this thread: [Android] rendering view extremely slow on tap - #6 by fox or not

Can not find any new build of tt-rss android on f-droid. Something changed?

latest build is from may 8, see Tiny Tiny RSS - F-Droid repository

Looks like something is broken.

When I try to install tt-rss from f-droid, got this exception

USER_COMMENT=
STACK_TRACE_HASH=ead57300
DISPLAY=0.currentSizeRange.smallest=[1080,1008]
0.currentSizeRange.largest=[1776,1704]
0.flags=FLAG_SUPPORTS_PROTECTED_BUFFERS+FLAG_SECURE
0.height=1776
0.metrics.density=3.0
0.metrics.densityDpi=480
0.metrics.scaledDensity=x3.0
0.metrics.widthPixels=1080
0.metrics.heightPixels=1776
0.metrics.xdpi=403.411
0.metrics.ydpi=403.041
0.name=Вбудований екран
0.orientation=0
0.pixelFormat=1
0.realMetrics.density=3.0
0.realMetrics.densityDpi=480
0.realMetrics.scaledDensity=x3.0
0.realMetrics.widthPixels=1080
0.realMetrics.heightPixels=1920
0.realMetrics.xdpi=403.411
0.realMetrics.ydpi=403.041
0.realSize=[1080,1920]
0.rectSize=[0,0,1080,1776]
0.refreshRate=60.000004
0.rotation=ROTATION_0
0.size=[1080,1776]
0.width=1080
0.isValid=true

PHONE_MODEL=XT1635-02
ANDROID_VERSION=8.0.0
BRAND=motorola
AVAILABLE_MEM_SIZE=8874569728
APP_VERSION_NAME=1.6
PRODUCT=addison
TOTAL_MEM_SIZE=25612496896
STACK_TRACE=java.lang.IllegalStateException: Apk needs to have both Schema.ApkTable.Cols.REPO_ADDRESS and Schema.ApkTable.Cols.NAME set in order to calculate URL [package: org.fox.ttrss, versionCode: 497, apkName: org.fox.ttrss-fdroid.apk, repoAddress: null, repoId: 7]
at org.fdroid.fdroid.data.Apk.checkRepoAddress(Apk.java:255)
at org.fdroid.fdroid.data.Apk.getCanonicalUrl(Apk.java:277)
at org.fdroid.fdroid.installer.InstallManagerService.queue(InstallManagerService.java:466)
at org.fdroid.fdroid.views.AppDetailsActivity.initiateInstall(AppDetailsActivity.java:397)
at org.fdroid.fdroid.views.AppDetailsActivity.installApk(AppDetailsActivity.java:379)
at org.fdroid.fdroid.views.AppDetailsActivity.installApk(AppDetailsActivity.java:332)
at org.fdroid.fdroid.views.AppDetailsRecyclerViewAdapter$3.onClick(AppDetailsRecyclerViewAdapter.java:1330)
at android.view.View.performClick(View.java:6259)
at android.view.View$PerformClick.run(View.java:24732)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6592)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)

CUSTOM_DATA=
PACKAGE_NAME=org.fdroid.fdroid

F-droid-compliant packages work fine, I can install obsolete version of tt-rss (sep 18) from f-droid repo.

i dunno, nothing has changed in the build process

try installing the APK manually, if it installs and works properly, it’s probably a f-droid client problem that should be reported to f-droid developers. if it doesn’t, i’ll take a look at it.

i have no idea what that is and honestly don’t care. i’m only using f-droid as a backup delivery mechanism, if they suddenly started requiring custom-built APKs i’ll just drop the repo and publish APK files directly.

e: i’ve added direct APK download buttons to https://tt-rss.org/fdroid/

i’ve added a feed for automatically built APKs for people who don’t want to use fdroid client: F-Droid APK Feed

Great, thanks! I can upgrade tt-rss via direct link, so I’ll submit a bug to f-droid developers

New beta is up: 1.266 (500).

This adds several options helpful on slow network connections:

  1. Amount of headlines requested at once is configurable in preferences (was hardcoded at 30 previously)
  2. Option to show embedded headline images on wifi only

Also, I’ve reordered and simplified descriptions for several preference names.

Feedback is appreciated.

nice to have this configurable. I’d think it might be good to have different values settable for wifi versus mobile. On wifi one usually has a faster/more reliable connection so a high value is good. On mobile the connection is possibly slower/less reliable.

I didn’t notice the other changes you made.

with lazy load it doesn’t really make that much difference anyway, i thought about simply hardcoding a lower value first. adding two settings seems like too much.

i could go for a separate “show images in articles on wifi only” option but i’m not sure if there’s any demand.

i also thought about showing downsampled previews in headlines list but there’s a bunch of issues with that approach; a potential plugin could downsample images linked in API responses as necessary (i.e. if client detects its not on wifi).

coming soon for the next beta (501):

08bhEcuu

original JPEG vs resized WEBP based on client-specified (in this case, device screen) width:

mfw:images (master):$ ls -l d3e*
-rw-r--r-- 1 www-data www-data 1244675 Aug 12 18:44 d3e3e0026d8c0128fdbcb32720c5ca50458ed577
-rw-r--r-- 1 www-data www-data   56008 Aug 12 19:13 d3e3e0026d8c0128fdbcb32720c5ca50458ed577-576

server plugin is here: Git repository browser (wip)

Nice. For me a missing feature of the android client is the mark read (1 day,1 week, 2 weeks). if you’re tweaking the client adding this might be nice.

some people really don’t bother compressing anything

mfw:tt-rss (master):$ ls -l cache/images/cd8e303b1612325b555354ccfeac01725e582126*
-rw-r--r-- 1 www-data www-data 458618 Aug 14 10:32 cache/images/cd8e303b1612325b555354ccfeac01725e582126
-rw-r--r-- 1 www-data www-data   8970 Aug 14 10:32 cache/images/cd8e303b1612325b555354ccfeac01725e582126-810

the images are almost identical when you look at them, too.

What can you tell me about Uncaught Error: Class 'DiskCache' not found in ?
I can’t find a php extension matching this name, running Debian Stretch with system packages (php 7.0.33) and apache2 (2.4.25).
Which dependency did I forget? The plugin worked till the rework :wink: , now tt-rss stays a blank page – maybe not optimal for an API-only plugin?