Hi Guich,
You're not alone in your misunderstanding of Android threading. However, if
you use AsyncTask correctly, you have a 99% chance of getting it right. Just
put any code that blocks, takes a long time, or can timeout into
the AsyncTask.doInBackground method instead of into an Activity
Copy the debug keystore from the working machine to the new one.
On Feb 17, 2010 10:34 AM, shookie10 chade.sh...@gmail.com wrote:
I have a problem getting the Geocoder to return results on my new PC
during development. I started writing a android app on my other (Win
XP) system and Geocoder
Although Mark's idea is workable, it may be bad OOD. It would work if all
your apps are direct subclasses of Activity, but what if some are
MapActivity, etc? I think the answer may depend on that and how you want to
use the global menu. Using delegation, you could have each menu be created
by the
We see it. Since this is a volunteer mail list, you may not get an answer
for hours or days. Chances are if the answer is plainly in the docs, no one
may reply anyway...
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group,
The key question is almost always how much more revenue would you get from
your app if the code was obfuscated and hacker proof? Search the forum.
There was some sage advice about devoting your energy to making the app
delight the customers instead.
--
You received this message because you are
First, some clarifications. Locale has nothing to do with character
encoding. Java stores all character data internally as 16-bit Unicode,
regardless of locale.
I suspect that myString.getBytes(iso-8859-1) is erroneous. I'm assuming
that myString is of type java.lang.String. What are you doing
A fairly straight forward way do it at build time with xslt. Chances are the
strings.xml is not available at run time.
On Feb 12, 2010 8:23 AM, CMF manf...@gmail.com wrote:
Hi all, I would like to write a program to parse the nodes of
strings.xml and then get the content and attributename. Can
I finally got to spend some time on this, if anyone is still interested. The
results are promising. I had to brush up on my DSP skills. The core of my
proof of concept is this:
/**
* A recursive digital band-pass filter with sampling frequency of 12 Hz,
center 3.6 Hz, bandwidth 3 Hz,
* low
Which method of which class are you doing the scanning?
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
I suggest you study the Android layout API carefully, download the Android
sources, extend the Layout class with your custom Layout.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to
Simple. Add query parameter to the URL. Example:
http://myserver.com/someXMLScript?IME=A7G
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this
Typical problem when non-UI thread code tries to update the UI. Please use
AsyncTask - it solves 99% of these problems.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
The AsyncTask pattern already provides a thread (from a pool) that you can
use anytime you need one. It's not at all clear why you need a singleton XML
parser.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email
Just curious what caller means in that context?
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
I think AlertDialog in the answer.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
Why post instead of get? I think you may need to use HttpClient then, but
I'm not sure.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group,
Yes, that is a bit more complex. First, don't confuse SAX handler
callbacks with GUI handler callbacks. Two approaches:
1) Make AsyncTask implement org.sax.ContentHandler. That way the
SAX callbacks have direct access to AsyncTask.publishProgress().
2) Create a delegate so that the parser has a
The conundrum on Android is that user code can't block in a UI thread and
non-UI threads can't manipulate the UI.
I can image that some code is just written so procedurally that blocking
Alert calls is the straight-forward way to do it. On the other hand,
breaking down a long procedure into
@Bob I don't think you really nailed the problem. I ran into what I think is
a similar issue. The stack trace showed the location of the throw deep in
the Android API, without a hint of a stack frame from my code. I suppose the
problem is because some of the Android code runs in different threads,
It's pretty easy to figure out. Here are the detailed steps:
In Eclipse, choose Window / Preferences. Navigate to Android / Build. Note
the location of the Default debug keystore file. Copy the defualt keystore
file to someplace where it can be shared among developers, such as the the
code
Does new URL(url).getConnection().getInputStream() work instead? You'd think
that DocumentBuilder.parse(String) is just a convenience method.
BTW, are you sure you want to use a DOM parser instead of a SAX push or pull
parser?
--
You received this message because you are subscribed to the
Is the service completely crashing due to the exception or does the service
continue to get the exception subsequently? Are you perhaps wrongly assuming
that the phone is connected to the internet whenever you want it to be?
--
You received this message because you are subscribed to the Google
The network unreachable error is always a networking problem. Could be the
local network interfaces (wifi and phone) are turned off or temporarily
disabled, a bad network mask setting, or some router is unable to route an
IP address. It may also be an ipv6 config error. It may be occuring while
You can really only discourage a determined person from using a time-limited
application, unless you use more sophisticated DRM-like approaches. There
are a couple of simple things you can do. Add a nag dialog that periodical
reminds the user the trial expires in x days, or expired x days ago,
Re your question about implementing a service that polls for updates, please
look at some of the sample code. For example, Romain Guy's Photostream demo
application has a background service that polls the Flikr API webservice for
updates and displays a notification in the notification bar. AFAIK
It's that simple unless you want to account for latitude compression or
obstacles. Latitude compression is usually negligible if the latitude bounds
are small (0.2 degrees), otherwise use great circle computation, which
involves more calculation. Most nearness calculations are done as the bird
I have two ideas for you, Mobdev:
1) Google for not well-formed (invalid token) and see what other people
have found regarding this error.
2) Go to validator.w3.org and see if the XML file in question is indeed
valid or not.
Please let us know what you find out.
--
You received this message
Add a boolean variable that is set on segfirstroute startElement and cleared
on segfirstroute endElement. Us it to ignore the date element.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to
Found attribute : Albanië instead of Albanié
This suggests you are displaying UTF-8 text (which is was logcat does) as
Latin-1. To wit: ë = 0xC3 0xAB which are UTF-8 for Latin1 0xEB. However, é
is 0xEB, not 0xAB, so there's something else afoot.
Also note that when you see the rectangle with
I'm curious why this matters and why it's an Android developer question?
TCP/IP doesn't guarantee long-lived virtual circuits. It's likely that the
technical details are only known by the wireless carrier's networking
engineers.
--
You received this message because you are subscribed to the
Try removing it. The build will probably create a new one.
On Feb 3, 2010 11:24 AM, hap 497 hap...@gmail.com wrote:
I am using eclipse android plugins to build a project, But i am
getting this error in the console window:
[2010-02-03 10:31:14 - androidVNC]Error generating final archive:
Debug
SAX Parsers, both push and pull, follow document order.
Your problem is what makes programming fun. It takes creativity. There are
many ways you could solve it, for example, by using java.util.SortedMap.
--
You received this message because you are subscribed to the Google
Groups Android
On Mon, Feb 1, 2010 at 11:23 PM, Bus Brothers busbroth...@gmail.com wrote:
Hello
We would like to be able to update our apps, but there are a large
number of them and we are getting negative responses from other
developers regarding market flooding.
I think the other comments about
Try a band-pass filter. Remove the low frequencies (such as the constant 1 g
falling) and the high frequencies (such as bumping and vibrating). Look up
digitial filters. Chances are some simple 24 line algorithm will do the
trick. I'm going to try myself using the accelerometer demo app when I get
SAX parser should be handling the character encoding properly. Perhaps the
HTTP Content-type header is not giving the encoding or saying it's UTF-8.
Make sure the byte stream being sent is actually ISO-8859-1. I usually look
at the actual data bits to debug encoding problems.
--
You received
Nothing wrong with the code. However your mention of thread raises a red
flag. I've seen some inexplicable errors occur when I've violated the
Android UI thread rules. Have you considered using AsyncTask, or at least
understood how it avoids the pitfalls of trying to manipulate the UI from a
It's not clear if you need help getting data into a tab or how to parser
XML. Look at developer.android.com for the tabs tutorials. Search the web
for XML parsing examples.
On Tue, Feb 2, 2010 at 12:04 AM, pankaj p.niga...@gmail.com wrote:
Hi
i want to show data from XML into tabs.plz give
Hi David. The like keyword is semantically similar to the = operator in
the where clause. For example:
... where country=CA and name like Sam%
Using the query builder, the selection parameter would be country=? and
name like ?, and selectionArg[1] would be Sam%.
--
You received this message
SAXParser does NOT parse line by line. That's incorrect. What you need is
something like this:
@Override
public void characters(char[] ch, int offset, int count) {
sb.append(ch, offset, count);
}
@Override
public void endElement(String namespaceUri, String localName, String qName)
{
if
I had to do some research on that pesky final keyword. Here's what I now
understand:
Use final for classes that should not be extended and methods that should
not be overridden (all methods of a final class are implicitly final). If
you use final in an attempt to increase performance, you lose
I've been able to copy UTF-8 text from Microsoft Office documents to source
code in Eclipse without a hitch. Are you sure the encoding in the source
document is also UTF-8? I've often debugged character encoding issues using
a hex editor, such as XVII, but it does take some study of UTF-8. Here's
I assume that you can see the characters correctly in the source document,
so it's strange you can't in Eclipse. What OS are you using and what kind of
document did you copy the text from?
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To
Please check the Android project's text file encoding. Right click the
Android project, select the Resouce section. It should be Inherited from
container (UTF-8) or other UTF-8. Also check the string.xml XML declaration
has encoding=utf-8.
I don't know how to check if the Excel encoding is
I'm not exactly clear what the problem is, but maybe this will help. I am
developing with Eclipse and use Subversion for the code so I can develop
from different machines. To share the default debug keystore, I copied it
into the project's workspace, commited it to the repository. In Eclipse, I
That's a good question. First, I don't think J2ME is going to give you much
insight, you might as well just start with Android. If you have done OOP in
PHP, that would help. Unfortunately, the Android SDK relies on some advanced
Java techniques such as template classes, generics, and inner
Perhaps the requests are being serialized by HttpClient? I wonder if there's
a way to determine the actual thread a particular AsyncTask's doInBacground
process runs on, like maybe a thread id?
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
I've recommended nekohtml and several people have reported using it
successfully on Android.
On Jan 28, 2010 3:04 PM, Marc Petit-Huguenin petit...@gmail.com wrote:
On 01/28/2010 02:31 PM, Allison Inouye wrote: I am trying to parse an HTML
document that is missin...
I was able to parse badly
Just to eliminate a couple of possibilities, what threading technique are
you using: AsyncTask, Service, your own? I suspect the latter, dur to the
java.lang.Thread.run at the bottom of the stacktrace.
The focus of the problems appears to be where
I think I understand what you're saying, but then how would the user
uninstall the service if he or she really wanted to?
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to
It may also help you to look at Romain Guy's PhotoStream demo application.
The source is available at code.android.com.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
Check this thread:
http://www.mail-archive.com/android-developers@googlegroups.com/msg21286.html
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from
Is this and Android question? Anyway, on the Droid, using SAX, a 14 KB xml
takes much less than one second off the net. On a 2GHz laptop, I've seen 8
MB files parse in about one second. SAX is great. The pull XML parser is
said to be slightly faster in many cases.
--
You received this message
If I'm not mistaken, there are many resources you can search for on the web
via google (as Sudeep suggested) that provide examples of SOAP clients
written in Java. Please learn some basics before asking such a broad
question on a forum that is specifically for Android development.
--
You
When you say thread, I hope you mean AsyncTask. That's the recommended way
to run background tasks, such as network downloads, and reliably handle the
resuslts in the UI thread.
--
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this
Another option for not-too-large databases is ISO-8601, like
20100127T134900Z, or just 20100127, etc. It's designed to sort and compare
as simple strings. Downside is it takes more space in the database.
--
You received this message because you are subscribed to the Google
Groups Android
I hate to start off negatively, but I think your users need only one app,
not like 120! Your ADC submission excuse about packageing all agencies in
one app is lame. Stay with me for a moment...
Scenario: In the San Francisco Bay area, there are about four or more
transit agencies of interest.
change the encoding for my code, JVM, ...? How can I change
the encoding of my program? I am developing my application by Eclipse
and Android ADT.
Thank you for response.
and also I waiting your response
Andu
On Jan 1, 1:49 am, Frank Weiss fewe...@gmail.com wrote:
The code looks good
You probably should say who the users of this application are to get more
reasonable replies. The most common advice would be to have the application
download the video to the SD card or stream the video. Many users are not
going to see the benefit of downloading a 200MB+ application just to see a
That's right. If you start an AsyncTask from a Service, you can't use the UI
thread methods of the AsyncTask to access the UI thread. Many of the usages
of AsyncTask are from an Activity, not a Service. They are used to respond
to user events that would take too long to process in the UI thread,
Please reread the doc carefully. You can run stuff on the UI thread in three
of the methods. There's really no need to send a message if you make the
subclass of AsyncTask an inner class. In that case those three methods can
do anything on the enclosing Activity's behalf, like setting the contents
Your main thrust is about battery drain. Is your assumption that an
application that is not shut down will drain the battery really valid?
On Thu, Jan 21, 2010 at 2:27 PM, Kevin Duffey andjar...@gmail.com wrote:
I don't know if I like this model. :D I'll give you one reason that I don't
know
Source.android.com
On Jan 20, 2010 7:33 AM, Frederic Hornain fhorn...@gmail.com wrote:
Dear *
Where can I download Android SDK source code ?
BR
Frederic
--
-
Fedora-ambassadors-list mailing list
fedora-ambassadors-l...@redhat.com
Olpc
I wouldn't expect a emulated code to run faster than on the target hardware.
Perhaps you are assuming that the emulated code is using the graphics
directly. Question is, does it?
On Jan 20, 2010 9:42 AM, Dan Sherman impact...@gmail.com wrote:
I'm not running any sort of beastly machine,
Also, note that getting a fix is intermittent, hence the timestamp.
On Jan 19, 2010 1:23 PM, TreKing treking...@gmail.com wrote:
Have you looked up LocationManager in the documentation?
On Tue, Jan 19, 2010 at 11:05 AM, Nebbie nebbiea...@googlemail.com wrote:
Hi, I need the current long
I think I understand the issue, but I'm puzzled why you can't simply
refactor your code to the Android API. Here's an example.
Activity.myMethod() {
{ block A }
ret = showModalDialog(); // they way you expect it to work
if (ret == 1) {
{ block B }
}
This can be refactored to:
I'm assuming you mean the overlay markers.
I'll agree with TreKing. Scaling map icons with the scale of the map (the
icon remain the same size relative to the size of a city, map feature, etc.)
is not such a great idea. I wouldn't have done it if I'd designed google
maps. Indeed I just tried the
Sounds good. I would start by overriding this method in your subclass of
Overlay:
public void *draw*(android.graphics.Canvas canvas,
MapViewhttp://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/MapView.html
mapView,
boolean shadow)
and then
I think hybrid business models are worth looking into. Look at the business
models of some of the free applications. For example, the Bank of America
application is free. Although the development investment was probably modest
(for a bank), the expense can be justified by the brand-building the
Probably a cookie. Look into understanding how cookies work and how the
servlet container uses them, then understand how to manage cookies with
HttpClient.
On Sat, Jan 16, 2010 at 12:57 AM, Testingjsp testfi...@gmail.com wrote:
Hi,
I am making a request from an android application to jsp
Have you looked into Themes and Styles:
http://developer.android.com/guide/topics/ui/themes.html
If the attributes are not related to that, other approaches would be:
inflater hook, attribute injection at runtime, generate the layout xml files
with XSLT.
On Sun, Jan 17, 2010 at 11:19 AM, Ray
I read a fascinating book A Complaint is a Gift. The gist is that few
people will give you feedback, and most of it will be negative. Furthermore,
the few negatives are the tip of the iceberg, so treat every complaint as a
gift. I also suggest you don't relay solely on the Android Market for
Sounds like you haven't tried any of the tutorials:
http://developer.android.com/resources/index.html
On Sun, Jan 17, 2010 at 1:39 AM, Rahul rahulsak2...@gmail.com wrote:
Hello, I m the new user in Android.
m trying to do one apll in which when we click on Button then control
goes to next
Have you looked at the Dev Guide at all?
http://developer.android.com/guide/topics/ui/dialogs.html
If you want to literally not have the function that brings up the dialog
return until the dialog is closed, you're in for some trouble. That's not
the way the Android UI works. There was lengthy
to use either a plain listview
(without on item selected handlers) or start a new activity? Perhaps
I'm not understanding what you mean.
Warren
On Jan 13, 12:43 pm, Frank Weiss fewe...@gmail.com wrote:
Have you considered using AlertDialog?
On Jan 13, 2010 10:34 AM, Warren warrenba
Where's the documentation for using a URI intent with Google Maps? I assume
you're trying to use the Android Maps application instead of including a
MapActivity within your Android application. In the latter case, you can
write your own KML parser and ItemizedMapOverlay to get the sample KML from
Generally, the same as you would from any Java program. I would recommend
you try it from a Java desktop application before diving into Android, or
search for an existing Android library to do it.
On Tue, Jan 12, 2010 at 8:39 PM, Sudeep sudeep.neti...@gmail.com wrote:
How to access the web
Everyone please note that emailing these people directly is a bad idea. Some
of them have indicated that in their signatures. However, the OP did not
intend that, just to filter messages based on the sender's email address.
Even then, doing so tends towards leeching. AFAIK a mail list system is
I suppose JNI would be the way to go.
On Wed, Jan 13, 2010 at 12:35 AM, perumal316 perumal...@gmail.com wrote:
Hi,
Any idea how do I show the kernel messages to user? One way is to
install terminal emulator and then 'dmesg'. But I want to write an app
which shows the kernel messages to the
On Jan 11, 2010 7:23 AM, JFrog jeremiah.paul.sna...@gmail.com wrote:
We cannot just put Apache Tomcat on the Android in its current form
and expect it to work can we? The software design hints to me that
the program would have to be converted. The same goes for any other
java application that
Sorry for the blank message.
Tomcat is used for server applications. If you ran a server application on a
handset likke Android phone, where wold the client run?
On Jan 11, 2010 9:05 AM, Frank Weiss fewe...@gmail.com wrote:
On Jan 11, 2010 7:23 AM, JFrog jeremiah.paul.sna...@gmail.com wrote
I suppose the answer you are looking for is this: you will have to run
Tomcat as a service on the Android.
On Mon, Jan 11, 2010 at 10:30 AM, JFrog jeremiah.paul.sna...@gmail.comwrote:
Tomcat is used for server applications. If you ran a server application
on a
handset likke Android phone,
I'm a bit confused by the OP. I thought it was in reference to Andorid's
java.util.HashSet. However it seems to be in reference to the Apache Harmony
project.
I suppose the OP's problem is in porting code that was using Harmony to
Android?
On Mon, Jan 11, 2010 at 3:32 PM, Philip
the Android SDK is that it uses a subset
of libraries based on the Java language on a similar JVM virtual
machine.
True.
Applications can be created on the phone through Eclipse
with the plug-ins.
True.
This however means that if we were to see client/server applications
such as
If there's no API, writing your own code is reasonable.
On Jan 8, 2010 9:09 AM, Peter Eastman peter.east...@gmail.com wrote:
Just render a small object using identical code except one is float and
one is int, then time them...
Unless a garbage collection happens to kick in during one of those
I've suggested using Eclipse project dependency, but haven't whether or not
it works for Android projects.
On Jan 8, 2010 10:15 AM, Mariano Kamp mariano.k...@gmail.com wrote:
Hi,
this seems to be a very basic need, but googling it I got the impression
that is not easily or elegantly solvable.
It's not clear what you're asking. Java strings are UCS-16. Are asking about
mixed localization of button labels? Please more details.
On Jan 5, 2010 10:53 AM, 48-New courag...@gmail.com wrote:
Would appreciate if anybody can give me some pointers on how to mixed
different language in an android
.
Hope this is clearer.
On Jan 5, 2:50 pm, Frank Weiss fewe...@gmail.com wrote:
It's not clear what you're asking. Java strings are UCS-16. Are asking
about
mixed localization of button labels? Please more details.
--
You received this message because you are subscribed to the Google
P.S. I don't think you really meant mix localizations. Unicode allows you
to mix characters from any language in a document. However, bidi (direction
of the text) can be tricky.
On Tue, Jan 5, 2010 at 12:36 PM, Frank Weiss fewe...@gmail.com wrote:
I'm assuming that you don't need to be able
It might be better to not make it look exactly like the Android context
menu, with the drop-shadow on the top. If a user touches the back button,
they'd expect it to go away. Perhaps take a look at the Gmail persistent
bottom menu as a UI guide, which is styled differently than the context
menu.
Which class are you expecting to have implemented the getContentResolver
method?
On Mon, Jan 4, 2010 at 4:01 PM, James tc4...@gmail.com wrote:
OK, I know this must be really simple but I must be continually
overlooking the obvious. I'm trying to compile the code below and
javac keeps saying:
Check nekohtml. I haven't tried it on Android yet, but used it several times
on desktop for screee
On Jan 2, 2010 8:36 AM, Kumar Bibek coomar@gmail.com wrote:
I guess you need to use a special HTML parse. Since, HTML pages are
not well-formed and are not XML compliant, using an XML parser
There have been a few similar questions. The basic issue is that SAX parsers
requires valid XML or XHTML as input. If you have control (or can influence
the authors of) the service, make the output valid, which as you well know,
means that , , , ', need to be escaped. In PHP, this is easily done
set the keep-alive
setting? I just can't seem to get it!
Thanks for all your help!
On Jan 1, 5:08 pm, Frank Weiss fewe...@gmail.com wrote:
I've seen 5 sec occasionally getting an rss feed of about 28 KB using
java.net.URL.openConnection().getInputStream() and then parsing
For your first issue, can you refactor to use singleton Factory instead and
make the factory methods non-static? Example:
MyFactory factory = MySubclassedFactory.getInstance();
MyWidget = factory.createMyWidget();
Then the createMyWidget method (possibly abstract in MyFactory) can be
overridde
Here's roughly how I do it, for a GET request:
class RSS exends DefaultHandler {
StringBuffer sb;
... other variables for collecting the data
public void parse(URL url) throws Exception{
SAXParserFactory spf = SAXParserFactory.*newInstance*();
SAXParser parser =
Considering that the execute method's latency includes network and server
times, on what basis do you think it's taking too long? What latency are you
observing, less than one second, more than one minute?
On Fri, Jan 1, 2010 at 1:19 PM, SizzlingSkizzorsProgrammer cbo...@gmail.com
wrote:
Yes,
You've posed an important software engineering question. I think you might
find some answers by googling for: android project dependency
Here's another thread that goes into it:
http://groups.google.com/group/android-developers/browse_thread/thread/5a3570fe3b87b62e
On Fri, Jan 1, 2010 at 1:14
at least!)
On Jan 1, 3:15 pm, Frank Weiss fewe...@gmail.com wrote:
Considering that the execute method's latency includes network and server
times, on what basis do you think it's taking too long? What latency are
you
observing, less than one second, more than one minute?
On Fri, Jan 1, 2010
If you don't need all the features of the Apache HTTPClient component, you
could use java.net. Chances are it's at leaset a bit faster. If your
response is XML, you can parse the response as a stream instead of loading
it into memory as a string.
On Thu, Dec 31, 2009 at 12:52 PM,
The code looks good AFAICT.
Please give the actual before/after characters that are coming out wrong.
For example, try the Ethiopian syllable qu, U+1241. If it's coming across as
a box followed by an A, then the receiver has gotten two characters,
U+0012 and U+0041. I really need to see the
501 - 600 of 625 matches
Mail list logo