[android-developers] Digest for android-developers@googlegroups.com - 8 Messages in 7 Topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    peter gottlieb <gottliebpet@gmail.com> Nov 30 08:04PM -0800  

    I finally got the adb to recognize my old Experia, after I made sure the
    USB debugging was turned on. The new Experia doesn't seem to have that
    option available or any other Development options. I will have to talk to
    Sony support about that.
     
     

     

    Phil Gibbs <javabiker52@gmail.com> Nov 30 06:41PM -0800  

    Eclipse generates an assets folder in the project structure. Where is (or
    how do I create one that is recognized by the build) is this folder
    supposed to go?

     

    Phil Gibbs <javabiker52@gmail.com> Nov 30 06:39PM -0800  

    Double clicking on a class (and everything else) brings the class into the
    edit area but does not bring it into the active edit screen. The tab needs
    to be clicked to bring it into focus. Please bring it into focus using the
    double-click - like Eclipse allows.

     

    askl <amalskr@gmail.com> Nov 30 07:58AM -0800  

    *Hi Dear,*
    *Can u please explain how to stop or cancel downloading progress within
    asyntask in android. Here's the my sample code. Please help me to solve
    this problem.*
     
    *private class DownloadPicture extends*
    * AsyncTask<String, Void, Drawable> {*
     
    * @Override*
    * protected Drawable doInBackground(String... urls) {*
     
    * try {*
    * InputStream nextPicIs = (InputStream) new URL(urls[0])*
    * .getContent();*
    * Drawable nextPicDraw = Drawable.createFromStream(nextPicIs,*
    * "Jathaka Katha");*
     
    * nextPicIs.close();*
     
    * return nextPicDraw;*
     
    * } catch (Exception e) {*
    * System.out.println("IMAGE EXCEPTION " + e);*
    * return null;*
    * }*
    * }*
     
    * @Override*
    * protected void onPostExecute(Drawable result) {*
     
    * if (result != null) {*
    * Bitmap currentImg= ((BitmapDrawable) result).getBitmap();*
     
    * img_view.setImageBitmap(currentKatha);*
     
    * } else {*
    *
    img_view.setBackgroundResource(R.drawable.play_default);*
    * }*
     
    * onCancelled();*
    * }*
     
    * @Override*
    * protected void onCancelled() {*
    * super.onCancelled();*
    * }*
    * }*

     

    Satya Komatineni <satya.komatineni@gmail.com> Nov 30 11:21AM -0500  

    You can call the cance(boolean) method on the asynctask. And you can pass
    true to forcefully remove the thread as per the docs. However it depends on
    what the URL and the drawable is doing and if they need to be informed of
    cancelling. You can also set a flag to cancel the task and check it often
    in the dobackground method if there is a loop of activity going on. In your
    case as there is no loop you may want to read up on the URLs and drawables
    to see if they have a cancel. then I will try cancel(true) on the asynctask.
     
    Here are some research notes on asynctask if you have patience to read
    through:
     
    Understanding Asynctask and ProgressDialogs
    http://satyakomatineni.com/item/3536
     
     
     
    --
    http://satyakomatineni.com/android/training
    http://satyakomatineni.com
    http://androidbook.com
    http://twitter.com/SatyaKomatineni

     

    Nando <nandox7@gmail.com> Nov 30 01:28PM  

    That's confusing.
    So you had a AdSense account with with $4.000 in it but you never got a pin
    because you needed $10?
     
    The account is verified by the end of each month, in you had in there more
    than $10 you could get the PIN.
    What might happen is that it may not be sent right away.
     
     
     
     
    -Nando
    Sent from my Sinclair ZX81
     
     

     

    cgttester gold <cgtprashant@gmail.com> Nov 29 10:38PM -0800  

     

--
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
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

[android-developers] Digest for android-developers@googlegroups.com - 18 Messages in 5 Topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    Kristoffer <kris.isak.vvik@gmail.com> Nov 29 02:56AM -0800  

    Hello.
     
    Iam creating a progressbar
    with style="?android:attr/progressBarStyleHorizontal"
    and iam also created a textview that iam adding "ontop" of the progressbar
    to show the actual value.
     
    Iam using relativelayout.
     
    Is it possible somehow to make the width of the progressbar to match the
    textview.
    So that the length of the progressbar changes to match the width of the
    textview.
     
    Thanks

     

    TreKing <trekingapp@gmail.com> Nov 29 04:43PM -0600  

    > textview.
    > So that the length of the progressbar changes to match the width of the
    > textview.
     
    Try setting progress bar to alignLeft and alignRight relative to the
    TextView.
     
    -------------------------------------------------------------------------------------------------
    TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
    transit tracking app for Android-powered devices

     

    Kristoffer <kris.isak.vvik@gmail.com> Nov 29 05:42PM -0800  

    Hello.
    That worked.
    Thanks for that great answer.
     
    Den fredagen den 29:e november 2013 kl. 23:43:24 UTC+1 skrev TreKing:

     

    peter gottlieb <gottliebpet@gmail.com> Nov 28 10:45PM -0800  

    The common practice is to test an app on an emulator (such as what one gets
    from the Eclipse ADT plug-in) and then on an attached phone. I have 9 apps
    on Google Play that were developed in this manner. Now I can no longer get
    the Eclipse environment to recognize the attached phone. I have had this
    problem in the past it always worked after a few tries (perhaps after
    re-booting the PC, or re-instantiating Eclipse). I have tried on 2
    systems:
     
    Indigo Service Release running on Windows 7
     
    Android developer tools Build: v22.3.0-887826 running on Windows 8.
     
     
    The windows 7 has worked in the past, but doesn't work now. The windows 8
    setup hasn't been used for this purpose before. I have made sure to set
    debug = "true" in the manifest, and that the phones (a new Sony Xperia, and
    an old Sony-Erickson Xperia) are set to accept apps from non-verified
    sources. I cannot get either phone to show up as a connected
    Android device chooser.
     
     
    Does anyone have any idea what could be wrong?

     

    TreKing <trekingapp@gmail.com> Nov 29 03:05AM -0600  

    > sources. I cannot get either phone to show up as a connected
    > Android device chooser.
     
    > Does anyone have any idea what could be wrong?
     
    First guess would be you haven't installed the proper drivers.
     
    -------------------------------------------------------------------------------------------------
    TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
    transit tracking app for Android-powered devices

     

    peter gottlieb <gottliebpet@gmail.com> Nov 29 07:52AM -0800  

    Bad guess. I clearly stated that the windows 7 setup had already worked
    with the Sony Erickson, but now doesn't. For all PC-phone interactions
    (browse files on the phone from the PC, update phone software from the PC,
    etc) the connections work perfectly fine. Only the Eclipse connection from
    the PC has the problem. My only thought is a virus, but I have run Norton,
    and everything seems fine. It could be some new virus that only effects
    certain software. As a last resort I will try to get Norton assistance.
     
     

     

    Kristopher Micinski <krismicinski@gmail.com> Nov 29 11:11AM -0500  

    Can you get any response from ADB?
     
    Kris
     
     
     

     

    peter gottlieb <gottliebpet@gmail.com> Nov 29 08:27AM -0800  

    I'm not sure what you mean by a response from ADB. I can debug from
    Eclipse on the virtual device, but Eclipse android plug in won't even
    recognize the hardware phone.
     
     
    On Fri, Nov 29, 2013 at 8:11 AM, Kristopher Micinski <krismicinski@gmail.com

     

    Kostya Vasilyev <kmansoft@gmail.com> Nov 29 09:46AM -0800  

    Not in any particular order:
     
    - You need drivers.
     
    Sony Ericsson makes their adb drivers available in the Windows Driver
    Download center (or whatever it's called), but not every manufacturer does
    this. For those, you'll need to either install their own (manufacturer
    specific, and potentially device specific) drivers, or get the generic
    Google's adb driver and hack its UPNP IDs before installing.
     
    - The adb debugging setting should be enabled (checked) on your non-virtual
    devices (system settings -> developer options).
     
    - Some manufacturers / devices seem to require an entry in adb_usb.ini, or
    you'll get "permission denied".
     
    - Android 4.2 and higher requires an on-device confirmation before it
    allows adb connections.
     
    - I'd recommend trying to get "adb devices" to work first, before jumping
    into Eclipse.
     
    -- K
     
    On Friday, November 29, 2013 8:27:44 PM UTC+4, peter gottlieb wrote:

     

    Kristopher Micinski <krismicinski@gmail.com> Nov 29 12:47PM -0500  

    I mean, if you type in "adb devices" do you get any output to indicate that
    ADB can find your device?
     
    Kris
     
     
     

     

    peter gottlieb <gottliebpet@gmail.com> Nov 29 11:03AM -0800  

    I have tried running "adb devices", but the only device listed is the
    emulator. If I close the emulator, I get nothing listed. I don't think
    there are any drivers from Sony that would be specific to Eclipse or adb.
    The ordinary windows drivers for the Sony phone are obviously working or I
    wouldn't be able to see the phone from PC connect.
     
     
    On Fri, Nov 29, 2013 at 9:47 AM, Kristopher Micinski <krismicinski@gmail.com

     

    Kristopher Micinski <krismicinski@gmail.com> Nov 29 02:32PM -0500  

    I wouldn't say that that's "obviously" true by any stretch of the
    imagination.
     
    I remember having to mess around with the registry on Windows to get
    debugging to work, though it's been a while so perhaps I'm off base here.
    Anyway, if adb can't recognize your device then that's your problem. The
    eclipse debugging functionality is just a wrapper through adb anyway (since
    adb stands for "Android Debug Bridge"). You should get this to work first,
    though at this point it sounds like it's somewhat device specific.
     
    Kris
     
     
     

     

    Steve Gabrilowitz <steveg1701@gmail.com> Nov 29 05:24PM -0500  

    I had the same problem once, figured it was a driver thing but couldn't
    seem to find the right driver. I had used this program
    http://www.wondershare.com/android-manager/ before and remembered that it
    loaded some sort of driver so I fired it up and after it did its thing and
    found the phone and voila adb "magically" started working!
    On Nov 29, 2013 2:33 PM, "Kristopher Micinski" <krismicinski@gmail.com>
    wrote:
     

     

    gjs <garyjamessilva@gmail.com> Nov 28 10:46PM -0800  

    Hi,
     
    Yes it definitely was a joke, sorry I should have been a bit more explicit
    it describing it that way ;-)
     
    And no offence is intended to the op.
     
    Regards
     
     
     
    On Friday, November 29, 2013 2:21:24 PM UTC+11, TreKing wrote:

     

    TreKing <trekingapp@gmail.com> Nov 29 03:03AM -0600  


    > Yes it definitely was a joke, sorry I should have been a bit more explicit
    > it describing it that way ;-)
     
    > And no offence is intended to the op.
     
    I was referring to the OP's statement of expecting someone from Google to
    listen ... =P
     
    -------------------------------------------------------------------------------------------------
    TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
    transit tracking app for Android-powered devices

     

    Michael Palmer <meicpalmer@gmail.com> Nov 29 04:15AM -0800  

    Google isn't exactly known for having responsive support.
     
    On Thursday, November 28, 2013 4:28:15 PM UTC-5, Paulo Cesar wrote:

     

    洋李 <liyang092079@gmail.com> Nov 29 12:18AM -0800  

    i have solve this solution,simple Toyvpn show us basic useage,then we can
    do anything , add OpenVpn like VpnOneClick soft.
     
    在 2012年7月10日星期二UTC+8下午6时01分36秒,洋李写道:

     

    Dominik <dominik.gruntz@fhnw.ch> Nov 28 11:14PM -0800  

    As far as I know this is not possible. This makes it impossible to implement some kind of generic proxy.
    Dominik

     

--
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
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

[android-developers] Digest for android-developers@googlegroups.com - 8 Messages in 6 Topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    Paulo Cesar <puelocesar@gmail.com> Nov 28 01:28PM -0800  

    I was expecting for someone inside Google to listen to my rant, and point
    out at somebody who can solve my problem?
     
    I don't like lawyers.. But it seems that I have no other way of dealing
    with this right? Since Google support is completely ignoring me..
     
    Em quarta-feira, 27 de novembro de 2013 18h41min12s UTC-2, TreKing escreveu:

     

    gjs <garyjamessilva@gmail.com> Nov 28 05:34PM -0800  

    http://youtu.be/vEB0l6OqLR4
     
    On Friday, November 29, 2013 8:28:15 AM UTC+11, Paulo Cesar wrote:

     

    TreKing <trekingapp@gmail.com> Nov 28 09:21PM -0600  


    > I was expecting for someone inside Google to listen to my rant, and point
    > out at somebody who can solve my problem?
     
     
    That's a joke, right? That has to be a joke. Good one.
     
    -------------------------------------------------------------------------------------------------
    TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
    transit tracking app for Android-powered devices

     

    Nobu Games <dev.nobu.games@gmail.com> Nov 28 09:43AM -0800  

    Try to debug by retrieving the GL error code:
     
    Log.d("GL Error", gl.getErrorCode());
     
    When the value is non-0 then there is an error. You need to identify the GL
    function call causing that error state. You could for example add a logging
    output line after each GL function call like this:
     
    gl.glEnable(GL10.GL_FOG);
    Log.d("Enable fog", gl.getErrorCode());
    gl.glFogx(GL10.GL_FOG_MODE, GL10.GL_EXP);
    Log.d("Set fog mode", gl.getErrorCode());
    gl.glFogfv(GL10.GL_FOG_COLOR, fogColorsBuffer);
    Log.d("Set fog color", gl.getErrorCode());
     
    If you get a non-0 number you need to look up the meaning of that error
    code.
     
    On Saturday, November 23, 2013 4:29:51 AM UTC-6, MobileVisuals wrote:

     

    Nitin Mahajan <np.mahajan@gmail.com> Nov 28 09:11PM +0530  

    Hello,
     
    I want to take OpenGL ES trace for the Chrome browser on the device running
    Android JB.
     
    I want to take the trace when a particular URL has been loaded to Browser
    and the user interacts on touch screen.
     
    The "Tracer for OpenGL ES" tool always launches the specified app afresh,
    so I am not able to take the trace as I have no way to tell the tool, which
    URL to load while collecting the trace.
     
    Can I get some inputs on this?
     
    Is there a way to take the OpenGL trace for an app that is already running,
    before starting the trace?
     
    regards
    -Nitin

     

    nish1013 <nishand2d@gmail.com> Nov 28 05:48AM -0800  

    I have found that AIDs have to be defined in an XML file and then declare
    that in the manifest.
     
    But what if I need to add more AIDs dynamically , what is the process?

     

    Amon Olimov <amon.bars@gmail.com> Nov 27 11:47PM -0800  

     

    Krishna Mahadik <krishna.mahadik@gmail.com> Nov 28 12:46PM +0530  

    Try this link
    http://developer.android.com/distribute/googleplay/edu/contact.html
     
     
    > To unsubscribe from this group and stop receiving emails from it, send an
    > email to android-developers+unsubscribe@googlegroups.com.
    > For more options, visit https://groups.google.com/groups/opt_out.
     
    --
    --
    . \\\///
    . / \
    . | \\ // |
    . ( | (.) (.) |)
    ----------o00o--(_)--o00o-----------------
     
    "Yesterday is not ours to recover, but
    tomorrow is ours to win or to lose."
     
    -----------ooo0-------------------------------
    . ( ) 0ooo
    . \ ( ( )
    . \_) ) /
    . (_/

     

--
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
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

[android-developers] Digest for android-developers@googlegroups.com - 7 Messages in 5 Topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    TreKing <trekingapp@gmail.com> Nov 27 02:38PM -0600  

    On Tue, Nov 26, 2013 at 7:28 AM, Krishna Mahadik
     
    > Can anyone enlighten me what could be the possible reason and how can i
    > over come such a problem.
     
     
    Not with the amount of information your have provided. Get a log that shows
    the crash at least.
     
    -------------------------------------------------------------------------------------------------
    TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
    transit tracking app for Android-powered devices

     

    Krishna Mahadik <krishna.mahadik@gmail.com> Nov 28 10:06AM +0530  

    Hello Treking,
     
    I have received couple of complaints which were as mentioned above. I am
    not able to get my hands on such a device in which such problem occur. I am
    looking forward to receive one of such handset, once i get it I will try to
    resolve issue on my own first and If I am not able to, then I will approach
    our group again.
     
    I just wanted to have some background if anyone has come across such
    problem before.
     
    Again thanks a lot for looking into my issue. I will surely follow-up with
    further proceedings.
     
    Thanks & Regards,
    Krishna V. Mahadik
     
     
    > To unsubscribe from this group and stop receiving emails from it, send an
    > email to android-developers+unsubscribe@googlegroups.com.
    > For more options, visit https://groups.google.com/groups/opt_out.
     
    --
    --
    . \\\///
    . / \
    . | \\ // |
    . ( | (.) (.) |)
    ----------o00o--(_)--o00o-----------------
     
    "Yesterday is not ours to recover, but
    tomorrow is ours to win or to lose."
     
    -----------ooo0-------------------------------
    . ( ) 0ooo
    . \ ( ( )
    . \_) ) /
    . (_/

     

    Kristopher Micinski <krismicinski@gmail.com> Nov 28 12:51AM -0500  

    Has anyone faced the problem of their app working on one device and
    crashing on another? Absolutely. For so many reasons that there is no way
    to be able to tell what your problem could possibly be.
     
    You should install a crash reporting system in your app, so that when it
    does generate crashes they will at least be sent to you, and you can have
    some hope of being able to figure out what might have gone wrong.
     
    Kris
     
     
     
    On Wed, Nov 27, 2013 at 11:36 PM, Krishna Mahadik <krishna.mahadik@gmail.com

     

    Ilanthirayan <theebankala@gmail.com> Nov 27 06:31PM -0800  

    I have created a simple Broadcast Receiver and it working absolutely fine
    except that if i *turned on/off the Air Plane Mode**, *
    it is taking nearly 150 seconds to receive the broadcasted message using
    onReceive(). Another thing is only this is causing a
    problem if we launch the application and then if i change Air plane Mode
    (on/off), Then it taking too long to receive the message.
     
     
    *** If there is Mode change before launching the application it didn't
    affect the time to receive the message in onReceive().
     
    I have attached the sample project with in this topic.
     
    *AndroidManifest.xml*
     
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.broadcastreceiver"
    android:versionCode="1"
    android:versionName="1.0" >
     
    <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="18" />
     
    <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity

    android:name="com.example.broadcastreceiver.BroadcastReceiverActivity"
    android:label="@string/app_name" >
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
     
    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>

    <receiver android:name="MyBroadcastReceiver" >
    <intent-filter>
    <action android:name="test.intent.action.QR_CODE_RECEIVER"
    />
    </intent-filter>
    </receiver>
    </application>
     
    </manifest>
     
    *MyBroadcastReceiver.java*
     
    package com.example.broadcastreceiver;
     
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.Toast;
     
    public class MyBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
    //TODO
    Toast.makeText(context, "Don't panik but your time is up!!!!.",
    Toast.LENGTH_LONG).show();
    Bundle extras = intent.getExtras();
    String state = extras.getString("message");
    Log.d("Test", "Inside MyBroadcastReceiver onReceive() state :: "+
    state);
    Toast.makeText(context, state,
    Toast.LENGTH_LONG).show();
    }
     
    }
     
    *BroadcastReceiverActivity.java*
     
    package com.example.broadcastreceiver;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.util.Log;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;
     
    public class BroadcastReceiverActivity extends Activity {
    public static String qrCodeReceiver =
    "test.intent.action.QR_CODE_RECEIVER";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button broadcastBtn = (Button) findViewById(R.id.broadcastBtn);
    broadcastBtn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
    // TODO
    Intent intent = new Intent();
    intent.putExtra("message", "Ilandrayan Doing THe Testing
    !!!");
    intent.setAction(qrCodeReceiver);
    sendBroadcast(intent);
    Log.d("Test", "Inside BroadcastReceiverActivity
    sendBroadcast :: ");
    }
    });
    }
    }
     
    *main.xml*
     
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".BroadcastReceiverActivity" >
     
    <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" />
     
    <Button
    android:id="@+id/broadcastBtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="48dp"
    android:text="Send The BroadCast Message" />
     
    </RelativeLayout>
     
    Thank you in advance.

     

    TreKing <trekingapp@gmail.com> Nov 27 02:41PM -0600  


    > Anything I can do?
     
     
    Get a lawyer?
     
    -------------------------------------------------------------------------------------------------
    TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
    transit tracking app for Android-powered devices

     

    TreKing <trekingapp@gmail.com> Nov 27 02:38PM -0600  


    > I am integrate my android app with drop-box...What i need is i am get the
    > share file/folder link now i want to know how to share that link with my
    > friends?
     
     
    DropBox has a dedicated support forum for their libraries and APIs. Review
    their docs and post there if you still have a problem.
     
    -------------------------------------------------------------------------------------------------
    TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago
    transit tracking app for Android-powered devices

     

--
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
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

[android-developers] Digest for android-developers@googlegroups.com - 18 Messages in 9 Topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    Heath Borders <heath.borders@gmail.com> Nov 26 01:59PM -0800  

    Cross-Posted on Stackoverflow: http://stackoverflow.com/q/20228800/9636
     
    Android's WebViewClient calls onReceivedSslError when it encounters an
    untrusted cert. However, the SslError object I receive in that call doesn't
    have any way public way to get to the underlying X509Certificate to
    validate it against an existing TrustStoreManager. Looking at the source, I
    can access the X509Certificate's encoded bytes thusly:
     
    public void onReceivedSslError(WebView view, SslErrorHandler handler,
    SslError error) {
    Bundle bundle = SslCertificate.saveState(error.getCertificate());
    X509Certificate x509Certificate;
    byte[] bytes = bundle.getByteArray("x509-certificate");
    if (bytes == null) {
    x509Certificate = null;
    } else {
    try {
    CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
    Certificate cert = certFactory.generateCertificate(new ByteArrayInputStream(bytes));
    x509Certificate = (X509Certificate) cert;
    } catch (CertificateException e) {
    x509Certificate = null;
    }
    }
     
    // Now I have an X509Certificate I can pass to an X509TrustManager for validation.}
     
    Obviously, this is private API and is fragile, though I assume it is fairly
    reliable since they can't change the bundle format. Is there a better way?
     
    In the source, I see that SslCertificate has the X509Certificate as a
    member variable. Could you just make that public with a getter?

     

    Jose_GD <jose.gonzalez.d@gmail.com> Nov 26 01:55PM -0800  

    It seems -s works only with real devices' serial numbers (and emulator
    generated names, AFAIK), not with IP addresses.
     
    El miércoles, 28 de septiembre de 2011 09:32:23 UTC-3, Vasyl Boyko escribió:

     

    Cliff Davies <cliff.davies@gmail.com> Nov 26 08:46PM  

    My application was reviewed for Google Play for Education and had issues
    that needed to be addressed. I was instructed to "visit
    developer.android.com/edu and sign
    up<https://services.google.com/fb/forms/playedu>"
    but I get Internal Server Error 500 on every attempt to sign up. Has
    anyone else had these problems?
     
    - Cliff Davies

     

    Pent <support@apps.dinglisch.net> Nov 26 07:13AM -0800  

    > What does key.getAlgorithm() return on 4.4 and previous versions?
     
    PBEWithSHA256And256BitAES-CBC-BC on both.

     
    > What does ecipher.getProvider().getName() return on 4.4 and
    > previous versions?
     
    BC on both (bouncy castle I guess)
     
     
    > Note that Using Cipher.getInstance() without specifying explicitly the
    > algorithm, mode and padding is a recipe for disaster.
     
    I thought mode was CBC, padding BC (whatever that is). I was under major
    time pressure when I implemented encryption :-)
     
    > AlgorithmParameterSpec paramSpec = new IvParameterSpec(
    > > initVector );
     
    > Where does initVector come frome and how was it generated?
     
    An array of 8 random bytes, fixed. As is the salt.
     
     
     
    > Most importantly, what encryption algorithm are you trying to use?
     
    AES.

     
    > AES's block size is 16 bytes (128 bits) so there is no way it
    > can work 8 byte (56 bit) IVs.
     
    Right, that matches with on old devices the cipher reporting the block size
    as 16 also.
    However, it's worked since 2010 on a huge variety of devices, which leads
    us to the conclusion that the previous implementation was doing something to
    adapt to the too-short IV instead of complaining, right ?
     
    So I need to find out what that something is. I'll start with filling the
    IV up
    to 16 bytes with 0s or 1s though :-)
     
    Pent

     

    Pent <support@apps.dinglisch.net> Nov 26 08:10AM -0800  

    I forgot: if I pad initVector up to 16 bytes, and using the code I posted
    in the first post, I get this from the cipher init() call:
     
    java.security.InvalidKeyException: invalid parameter passed to AES init -
    com.android.org.bouncycastle.crypto.params.ParametersWithIV
     
    So it seems that PBEWITHSHA-256AND256BITAES-CBC-BC in the BC provider is
    not usable at all now ?!
     
    Or something else has also changed to make my code no longer valid.
     
    Pent

     

    Nikolay Elenkov <nikolay.elenkov@gmail.com> Nov 27 01:19AM +0900  

    > the first post, I get this from the cipher init() call:
     
    > java.security.InvalidKeyException: invalid parameter passed to AES init -
    > com.android.org.bouncycastle.crypto.params.ParametersWithIV
     
    The reason it worked before is that it was probably falling back to using the
    IV included with the key (Cf. the class name). PBE algorithms can derive
    both the key and the IV from the password.
     
     
    > So it seems that PBEWITHSHA-256AND256BITAES-CBC-BC in the BC provider is not
    > usable at all now ?!
     
    Convert your key to a 'plain' key with something like this and is should work
     
    SecretKey sk1 = new SecretKeySpec(sk.getEncoded(), "AES");
     
    Then pass sk1 to Cipher.

     

    Pent <support@apps.dinglisch.net> Nov 26 09:43AM -0800  

    > the
    > IV included with the key (Cf. the class name). PBE algorithms can derive
    > both the key and the IV from the password.
     
    Bingo!
     
    Changing the IV on an older device doesn't affect decryption :-)
     
     
    > Convert your key to a 'plain' key with something like this and is should
    > work
     
    > SecretKey sk1 = new SecretKeySpec(sk.getEncoded(), "AES");
     
    Yep, that fixes that error, but now the decryption fails (doFinal).
     
    I'm way out of my depth here, but does it make sense to use getIV() on the
    cipher
    on the old device and then set that as the IV on the new one ?
     
    Pent

     

    Pent <support@apps.dinglisch.net> Nov 26 09:48AM -0800  

    ..... no, because it's different for each passphrase.
     
    So the problem is that I'm specifying an IV at all now, so it's not doing
    it's internal derivation from
    the password ?
     
    Pent

     

    Pent <support@apps.dinglisch.net> Nov 26 09:53AM -0800  

    Yep, that's it, if I pass a null parameter spec it can decode the old files
    on 4.4.
     
    Can't thank you enough for your help!
     
    Pent

     

    Nikolay Elenkov <nikolay.elenkov@gmail.com> Nov 27 02:59AM +0900  

    > Yep, that's it, if I pass a null parameter spec it can decode the old files
    > on 4.4.
     
    Or just use the Cipher.init() version that takes only two parameters:
     
    ecipher.init( Cipher.ENCRYPT_MODE, key)

     

    Pent <support@apps.dinglisch.net> Nov 26 11:34AM -0800  


    > Or just use the Cipher.init() version that takes only two parameters:
     
    > ecipher.init( Cipher.ENCRYPT_MODE, key)
     
    This experience has taught me to specify all possible parameters
    when dealing with encryption :-)
     
    Pent

     

    Paulo Cesar <puelocesar@gmail.com> Nov 26 08:16AM -0800  

    Hi everybody, I have a app published for more then one year, Lumiè, for
    photo enchantments. So, early in Android, payments were sent to AdSense,
    before they migrated to Google Checkouts. Thing is, I had more then
    $4.000,00 in Google AdSense, but never was able to receive the money. Last
    month, I discovered I have to validate my account with a PIN number, but I
    never received the PIN number, because my account didn't reach $10.
     
    Seems insane right? I had 4000, but they didn't sent me the PIN because of
    $10.. Anyway, to be able to receive, I installed Google AdSense in my wife
    blog, hosted by Google Blogger. The process was automated, so I didn't have
    to do anything, just enable.
     
    Problem is, yesterday, I received a mail from Google, saying my AdSense
    account is banned for invalid clicks. But the thing is, the blog never was
    able to generate more then $5 dollars, so I'm really confused why they did
    that.
     
    After appealing, they rejected my appeal, and according to the AdSense FAQ,
    I won't be able to receive my money!
     
    So I'm really disappointed with Google, because I only used their services,
    and now they seem to rob me *$4.000,00* dollars!!! That's a lot of money,
    and I need that to live.
     
    *Anything I can do?* *Besides never, ever, developing for Google again?*

     

    Michael Palmer <meicpalmer@gmail.com> Nov 26 06:43AM -0800  

    I am now more concerned about Electric Plasma HD<https://play.google.com/store/apps/details?id=com.lzc.live.wallpaper.electric&hl=en>.
    It is not named identically to my app, but it is the same sort of
    adware/malware as the Electric Plasma Live Wallpaper knockoff and it has
    achieved more downloads (+50,000, compared to +10,000.)
     
    Does anyone know a way that I can contact someone at Google directly about
    this?

     

    John Coryat <coryat@gmail.com> Nov 26 07:56AM -0800  

    Michael,
     
    I suggest you just move on. You've reported those apps. There's nothing
    more to do.
     
    If Google eventually sees fit to remove them, then fine. If it takes them
    five years, that's just the way it is.
     
    -John Coryat
     
    On Tuesday, November 26, 2013 8:43:23 AM UTC-6, Michael Palmer wrote:

     

    Krishna Mahadik <krishna.mahadik@gmail.com> Nov 26 06:58PM +0530  

    Hello Guys,
     
    I am facing awkward problem.
     
    Android Mobile Users who has formatted their handsets are not able to run
    my application.
     
    In rest of Android Mobiles the application is running just fine.
     
    Can anyone enlighten me what could be the possible reason and how can i
    over come such a problem.
     
    Thanks & Regards,
    Krishna V. Mahadik
     
     
     
     
    --
    --
    . \\\///
    . / \
    . | \\ // |
    . ( | (.) (.) |)
    ----------o00o--(_)--o00o-----------------
     
    "Yesterday is not ours to recover, but
    tomorrow is ours to win or to lose."
     
    -----------ooo0-------------------------------
    . ( ) 0ooo
    . \ ( ( )
    . \_) ) /
    . (_/

     

    Guillermo Polonsky <polonskyg@gmail.com> Nov 26 09:27AM -0200  

    Hi, Which is the first Android version with BLE support?
    In particular, Does Samsung galaxy s2 support BLE?
    Thanks in advance. Guillermo

     

    Arun Kumar K <arunkumar.k@npcompete.net> Nov 26 04:28PM +0530  

    Hi Guys,
     
    I am integrate my android app with drop-box...What i need is i am get the
    share file/folder link now i want to know how to share that link with my
    friends?
     
     
    --
    *Regards*
    *Arun*

     

--
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
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

[android-developers] Digest for android-developers@googlegroups.com - 19 Messages in 9 Topics

Comments: (0)

Group: http://groups.google.com/group/android-developers/topics

    Michael Palmer <meicpalmer@gmail.com> Nov 25 04:52PM -0800  

    Well, it's been a full month since I reported the first app I mentioned
    here, and it's still up. It's been over a week since I reported the second
    app.

     

    Steve Gabrilowitz <steveg1701@gmail.com> Nov 25 10:30PM -0500  

    Maybe you should post the URL of both your app and the non compliant ad
    infested copycat so that we can all post comments on the adware telling
    people what it is and where to go get your app instead!

     

    Michael Palmer <meicpalmer@gmail.com> Nov 25 07:56PM -0800  

    On Monday, November 25, 2013 10:30:21 PM UTC-5, Steve Gabrilowitz wrote:
     
    > Maybe you should post the URL of both your app and the non compliant ad
    > infested copycat so that we can all post comments on the adware telling
    > people what it is and where to go get your app instead!
     
    I already posted URLs in the first post in this thread. Comments might not
    be a good idea - it is probably better to flag the app instead.

     

    flsobral <flsobral@gmail.com> Nov 25 10:23AM -0800  

    I'm working on an application that uses VoIP and I need to force the call
    screen on the foreground when the phone receives a call, just like a
    regular phone call.
    I know this is generally a bad thing to do, but this "feature" was
    requested by the customer and the application won't be publicly available.
     
    I know this is possible, but I couldn't get it done. Any ideas?
     
     
    Thanks in advance.

     

    pierre <pierre.roux12@gmail.com> Nov 25 12:02PM -0800  

    You may use PowerManager.WakeLock with ACQUIRE_CAUSES_WAKUP and
    ON_AFTER-RELEASE flags (and apropriate authorizations).
    Pierre

     

    Massimo Messore <massimo.messore@gmail.com> Nov 25 09:13PM +0100  

    There are many open source VoIP client out there that you can look at. You
    can google for imsdroid or csipsimple, for example.
     
    The main idea is to implement a service that runs even when your app is in
    background and listens to VoIP events (like incoming calls). Then the
    service launches an intent to show the call screen activity in foreground
    when a new call arrives.
     
    You would probably also manage the display wakeup and unlock if the device
    is in standby and locked when the call arrives. Both the VoIP clients above
    have such features.
     
    Regards.

     

    "Danny S." <danny.schimke@googlemail.com> Nov 25 05:39AM -0800  

    Hi Justin,
     
    first thanks for your answer. I googled a lot before posting for searching
    a good approach for providing my events to the Android Calendar API.
     
    I think my own solution will be to gather all my events to save them to the
    calendar using the calendar API if it does not already exists. The event ID
    then has to be a unique identifier for my data object. This way old events
    can stay in calendar and new, not existing events can be added this way.
    (something like:
    http://stackoverflow.com/questions/7859005/how-to-read-and-edit-android-calendar-events-using-the-new-android-4-0-ice-cream)
     
    Regards!
    -Danny Schimke
     
    Am Freitag, 22. November 2013 17:27:41 UTC+1 schrieb MagouyaWare:

     

    Justin Anderson <magouyaware@gmail.com> Nov 25 12:59PM -0700  

    Hi Danny,
     
    I'm glad you are able to find a working solution. In the future if you
    provide some information that you've actually done research, then I promise
    I won't reply with links telling you to do some homework first... :-)
     
    Thanks,
    Justin
     
    Thanks,
    Justin Anderson
    MagouyaWare Developer
    http://sites.google.com/site/magouyaware
     
     

     

    niko001 <greatbytessoftware@gmail.com> Nov 25 06:57AM -0800  

    Hi,
     
    my app uses the new "immersive mode" by calling (in onCreate()):
     
    int uiOptions =
    getWindow().getDecorView().getSystemUiVisibility();
    uiOptions |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
    uiOptions |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
    getWindow().getDecorView().setSystemUiVisibility(uiOptions);
     
    This works great, but on some devices, the "how-to" popup ("Swipe down from
    the top to make the navigation controls reappear") appears almost every
    time the Activity is launched, even though the user has acknowledged the
    popup. Following the instructions once (to "demonstrate" to the system that
    the user knows how to get the navigation controls back if needed) also
    doesn't help. As far as I understand, the popup is automatically generated
    by the system, so there's nothing I can do to change this situation,
    correct?
     
    This happens on multiple devices running 4.4, including the Nexus 4 and 5.
     
    Thanks!
    Best regards,
    Nick

     

    b0b <pujos.michael@gmail.com> Nov 25 07:43AM -0800  

    I use immersive mode and doesn't have the problem you describe.
     
    But I'm not calling setSystemUiVisibility() on the decor View but on a
    subclassed View (a ViewPager in my case) pretty much following
    the "System UI Visibility" Kitkat API Demo sample.

     

    niko001 <greatbytessoftware@gmail.com> Nov 25 09:04AM -0800  

    Thanks, Bob! I've tried using a different View and calling setSystemUiVisibility()
    in onWindowFocusChanged(), but the problem stays the same :-/!
     
     
    On Monday, November 25, 2013 4:43:13 PM UTC+1, b0b wrote:

     

    gallagth <gallagth@gmail.com> Nov 25 06:49AM -0800  

    Hi all,
     
    I'm developing an InputMethod and therefore relying on InputMethodService
    and it's getCurrentInputConnection to retrieve an InputConnection. I'm
    trying to extract the current text from the input connection, via the
    getExtractedText method and it works *most* of the time. However, most is
    not enough and for instance when calling it on a textfield in a webview it
    returns null without any valid reason or any errors thrown in the log.
     
    I also tried the three other functions of the InputConnection class:
    getTextBefore/AfterCursor and getSelection and my input method manages to
    crash certain system apps (Browser or Search for instance) with the
    following type of error.
     
    E/AndroidRuntime( 7032): FATAL EXCEPTION: main
    E/AndroidRuntime( 7032): java.lang.IndexOutOfBoundsException: getChars (70
    ... -2147483579) has end before start
    E/AndroidRuntime( 7032): at
    android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1009)
    E/AndroidRuntime( 7032): at
    android.text.SpannableStringBuilder.getChars(SpannableStringBuilder.java:913)
    E/AndroidRuntime( 7032): at
    android.text.TextUtils.getChars(TextUtils.java:74)
    E/AndroidRuntime( 7032): at
    android.text.TextUtils.substring(TextUtils.java:260)
    E/AndroidRuntime( 7032): at
    android.view.inputmethod.BaseInputConnection.getTextAfterCursor(BaseInputConnection.java:393)
    E/AndroidRuntime( 7032): at
    com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:202)
    E/AndroidRuntime( 7032): at
    com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:77)
    E/AndroidRuntime( 7032): at
    android.os.Handler.dispatchMessage(Handler.java:99)
    E/AndroidRuntime( 7032): at android.os.Looper.loop(Looper.java:137)
    E/AndroidRuntime( 7032): at
    android.app.ActivityThread.main(ActivityThread.java:5041)
    E/AndroidRuntime( 7032): at java.lang.reflect.Method.invokeNative(Native
    Method)
    E/AndroidRuntime( 7032): at java.lang.reflect.Method.invoke(Method.java:511)
    E/AndroidRuntime( 7032): at
    com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    E/AndroidRuntime( 7032): at
    com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    E/AndroidRuntime( 7032): at dalvik.system.NativeStart.main(Native Method)
    W/ActivityManager( 2733): Force finishing activity
    com.android.browser/.BrowserActivity
     
    Thanks for any help from fellow input methods developers!

     

    BoD <bodlulu2@gmail.com> Nov 25 06:19AM -0800  

    Hello?
     
    Anyone from Google reading this mailing list?
     
    --
    BoD
     
    On Monday, November 18, 2013 10:44:19 AM UTC+1, BoD wrote:

     

    Pent <support@apps.dinglisch.net> Nov 25 04:59AM -0800  

    Since 4.4 my encryption code (working since Android 1.5) fails with...
     
    java.security.InvalidKeyException: initialisation vector must be the same
    length as block size
     
    ....at the init call in the following code:
     
    String passphrase = "pass";
    String alg = "PBEWITHSHA-256AND256BITAES-CBC-BC";

    PBEKeySpec keySpec = new PBEKeySpec( passphrase.toCharArray(),
    salt, 2001 );
     
    SecretKey key = SecretKeyFactory.getInstance( alg
    ).generateSecret( keySpec );

    Cipher ecipher = Cipher.getInstance( key.getAlgorithm() );
     
    AlgorithmParameterSpec paramSpec = new IvParameterSpec(
    initVector );
     
    ecipher.init( Cipher.ENCRYPT_MODE, key, paramSpec );
     
    initVector and salt are both 8 byte arrays.
     
    ecipher.getBlockSize() reports 16, so yes, it doesn't match the
    initialization vector.
     
    Presumably some default has changed somewhere.
     
    This leaves all my users who used encryption in any way completely stuck.
     
    I've tried to arrange without success that the cipher block size is set to
    8.
     
    For instance:
     
    Cipher.getInstance( "AES/CBC8/PKCS5Padding" );
     
    Gives:
     
    java.security.NoSuchAlgorithmException: can't support mode CBC8
     
    On the other hand, making initVector a 16 byte array causes init() to throw:
     
    java.security.InvalidKeyException: invalid parameter passed to AES init -
    com.android.org.bouncycastle.crypto.params.ParametersWithIV
     
    Any ideas ?
     
    TIA,
     
    Pent

     

    Pent <support@apps.dinglisch.net> Nov 25 06:05AM -0800  

    Correction: this one:
     
    Cipher ecipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
     
    Works with a 16 byte initVector.
     
    That doesn't help me recover old users data though.
     
    Pent

     

    Nikolay Elenkov <nikolay.elenkov@gmail.com> Nov 25 11:12PM +0900  


    > SecretKey key = SecretKeyFactory.getInstance( alg
    > ).generateSecret( keySpec );
     
    > Cipher ecipher = Cipher.getInstance( key.getAlgorithm() );
     
    What does key.getAlgorithm() return on 4.4 and previous versions?
    What does ecipher.getProvider().getName() return on 4.4 and
    previous versions?
     
    Note that Using Cipher.getInstance() without specifying explicitly the
    algorithm, mode and padding is a recipe for disaster.
     
    You could try to get the old behaviour by calling
     
    Cipher.getInstance( key.getAlgorithm(), oldProvider);
     
    where 'oldProvider' is the value returned by
    ecipher.getProvider().getName() on pre-4.4 versions. That won't
    work if the provider is the same, but internal implementation
    details have changed.
     
     
    > AlgorithmParameterSpec paramSpec = new IvParameterSpec(
    > initVector );
     
     
    Where does initVector come frome and how was it generated?
     
     
    > initVector and salt are both 8 byte arrays.
     
    > ecipher.getBlockSize() reports 16, so yes, it doesn't match the
    > initialization vector.
     
    Most importantly, what encryption algorithm are you trying to use?
    AES's block size is 16 bytes (128 bits) so there is no way it
    can work 8 byte (56 bit) IVs.
     
     
    > This leaves all my users who used encryption in any way completely stuck.
     
    > I've tried to arrange without success that the cipher block size is set to
    > 8.
     
    This won't work, each algorithm has a specific block size, you can't change
    it.

     

    Y2i <yuriry@gmail.com> Nov 25 04:22AM -0800  

    Context.obtainStyledAttributes() implemented as
     
    public final TypedArray obtainStyledAttributes(int resid, int[] attrs)
    throws Resources.NotFoundException {
    return getTheme().obtainStyledAttributes(resid, attrs);
    }
     
    and Theme.obtainStyledAttributes() has a different problem that I asked
    about in another post<https://groups.google.com/d/msg/android-developers/ChUiruJ_UKw/a4BaGEipgocJ>:( I'll probably have to create a custom component and analyze custom
    attributes in its constructor instead of trying to introspect the style.
    That approach at least works.
     
     
     
    On Sunday, November 24, 2013 11:46:18 PM UTC-8, Piren wrote:

     

    Hilda Chen <hilda.chen0301@gmail.com> Nov 25 05:38PM +0800  

    I am sorry, This is the android system's problem and I have no solution.
     
     
    2013/10/22 Cliffus <cliff.ophalvens@gmail.com>
     
     
    --
    Hilda
    Thanks and Regards!

     

--
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
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
---
You received this message because you are subscribed to the Google Groups "Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.