Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Message notification on login #5699

Closed
jan-svab opened this issue Apr 28, 2016 · 11 comments
Closed

Message notification on login #5699

jan-svab opened this issue Apr 28, 2016 · 11 comments
Labels
Feature Request A request for a new feature/function

Comments

@jan-svab
Copy link

jan-svab commented Apr 28, 2016

It may be useful and inexpensive (in terms of cosumed resources and also implementation effort) to add a small notification to main screen that the user has some unread messages in messaging center.
Real world usage example - me personally, I use c:geo for nearly all geocaching tasks, so I log to geocaching.com website just once a month or even once a few months. Such a feature would vastly improve my message response time.

The feature request #4917 for integrating message center into c:geo was closed with following reasoning:

  • integrating message center is expensive and not a main
  • it is possible to develop another application that would notify user that he has a new message

Eventhough both is undoubtly true, I would like to ask for reconsidering the second point - it seems to be not-so-very-clever to develop another standalone application that would have to do exactly the same as c:geo does on each start (log in to geocaching.com), let the user keep login credentials to geocaching.com in two distinct applications etc. On the other hand, for c:geo it would mean just adding another regexp to parse the login screen at startup and show a simple orange dot somewhere on main screen (or do I get it wrong and it would be more effort than I expect?)
#4917
#5352
#5346

@Lineflyer Lineflyer added Feature Request A request for a new feature/function Feedback required Issue requires feedback of the author or another user labels Apr 28, 2016
@Lineflyer
Copy link
Member

Interesting idea, but just showing a marker if unread messages are present does not help so much.
How shall the user read the message and how shall he even understand the meaning of that marker?

@jan-svab
Copy link
Author

Maybe other users would welcome more elaborate feature, but for me, it is sufficient as described. It would just tell me "now it's time to go to website". I don't have problems using geocaching.com to read/write my messages, I just don't need it for anything else (I use c:geo for all other tasks) so I simply usualy forgot to do it. Such a reminder would be completely sufficient for me.

Making the marker understandable is a matter of graphical design, but I would suggest to use the same orange dot as appears on top of the letter icon on geocaching.com, when you have unread messages. However, I'm not sure where to locate it on the screen so that it would be completely clear that it means unread messages.

@Natureshadow
Copy link

Natureshadow commented May 24, 2016

Telling people to just send a friggin e-mail just as they always did and ignore everyone who is too dumb for that is an even simpler solution.

I never read messages on GC.com and I do not want an irritating notification about it anywhere.

@SammysHP
Copy link
Member

AFAIK c:geo does not use system notifications yet. I suggest to simply show a notification for new messages, checked on every parsing of a gc.com page.

New message on geocaching.com
Open in browser

@Lineflyer Lineflyer removed the Feedback required Issue requires feedback of the author or another user label Jul 26, 2020
@moving-bits
Copy link
Member

I've analyzed the necessary calls to retrieve a message counter. (Data will be provided in XML format.)

Can someone point me to a code snippet how to poll an external https source every 5 minutes in MainActivity, extracting a certain value from the retrieved XML?

Probably something like this, but I cannot get this to run:

in onCreate():

resumeDisposables.add(
	  Observable.interval(0, 2, TimeUnit.SECONDS)
	        .map(value -> getMessageCenterState())
	        .takeUntil(Observable.timer(1, TimeUnit.SECONDS))
	        .observeOn(AndroidRxUtils.networkScheduler)
	        .subscribe(result -> Log.e("received: " + result))
);

with getMessageCenterState() being the function doing the actual https call, and returning a byte value.

@ztNFny
Copy link
Contributor

ztNFny commented Jul 2, 2023

Is this still a required feature? The official GC app seems to do a quite good job at message center, I don't see that cgeo could add any value there.

@Lomanic
Copy link
Contributor

Lomanic commented Jul 3, 2023

I would appreciate this feature yes. With this implemented, I think I wouldn't have any reason to keep the proprietary app with its broken maps and message notifications on a device without Google Play services.

@ztNFny
Copy link
Contributor

ztNFny commented Jul 3, 2023

But you do get email notifications about message center messages already? Those mails are usually pushed to your device (unless your app doesn't do that, in which case it still polls every few minutes - the same that the feature requested here would do).
This issue is not about implementing messager functionality but just about notifying about new messages.

@moving-bits
Copy link
Member

Is this still a required feature? The official GC app seems to do a quite good job at message center, I don't see that cgeo could add any value there.

To not have to install the "official" app at all. I'm using c:geo only since many years, and it works pretty well. Also I don't have email polling/pushing enabled, so I'm looking for a different way to receive notifications while I'm out in the field.

I'm thinking of extending gc connector info on home screen by a text (eg "Unread messages") and a switch to activate/deactivate polling. If activated, c:geo would poll like every five minutes, and present the result below this text.

@moving-bits
Copy link
Member

I have the polling code ready now, and it's working in general. Only thing missing is that the request seems to require setting a specific cookie with a value I can extract from some earlier call as HTML field. How can I inject this text as a cookie into the https call?

@moving-bits
Copy link
Member

Implemented a non-intrusive (and optional) solution with #14407

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request A request for a new feature/function
Projects
None yet
Development

No branches or pull requests

7 participants