Don Ruckman | 10 Feb 22:03 2016
Picon
Picon

Partition Internal Tablet storage(16GB)

Not sure where to ask this question,or if the question is correct for the situation,  but will start here; Thank You.

I have a new Skytex Skypad SP736 (7" quad core)
tablet, with Android 5.0 Lollipop pre-installed.
The internal storage (16GB) is partitioned as "Internal Storage", and "USB Storage".
Internal storage is set to 2.36 GB, USB storage is set to 9.02 GB. Available space left in Internal Storage is +/- 300 MB. This ts the storage area where apps are loaded and is too small to download many apps. I have moved some apps (those movable) to the "USB storage", cleared cache, and cleared data, to preserve some space (+/- 300MB) to download apps.  (See Pictures)
NOW, how can I  re-partition the 16 GB storage into ONE partition
 My phone has 16GB of internal storage and is not partitioned (Android 4.4.2)

Also, there is NO option to move apps to SD card.

Thanks you for your consideration,
Don

--
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 <at> googlegroups.com.
To post to this group, send email to android-developers <at> googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/9affb310-cc88-4c10-bcfa-819d8957af22%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Frédéric Ravetier | 10 Feb 21:39 2016
Picon
Gravatar

in-app biliing purchase flow with promo code return empty payload, why?

Hi, 

I code in ap billing in my application. Everything works fine except when I use a promo code in the app. Google returns an empty payload, even if I send an ID. Then when I chick if the ID is equal to payload I reject the transaction.

Why ? 

Thank you for your help!

Regards,
Fred

--
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 <at> googlegroups.com.
To post to this group, send email to android-developers <at> googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/bebaca63-cb62-4c92-ba92-f629689a4ec2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Kevin Technologx | 10 Feb 20:15 2016
Picon

Building APK issues

Alright I used this same AndroidManifest.xml code several times to create my app and it worked just fine now I'm getting 5 different errors and I can't figure out why.

Here's the xml code:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 
package="technologx.technologx"
 
android:installLocation="preferExternal"
 
android:versionCode="1"
 
android:versionName="1.0" >

 
<uses-sdk
 
android:minSdkVersion="16"
 
android:targetSdkVersion="23" />

 
<uses-permission android:name="android.permission.INTERNET" />
 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
 
<uses-permission android:name="android.permission.CAMERA" />
 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

 
<meta-data
 
android:name="com.google.android.backup.api_key"
 
android:value="AEdPqrEAAAAILe2cCZXNBhacXv2fkMpNM5F7FWTdWRUw-r1dFg" />

 
<application
 
android:allowBackup="true"
 
android:icon=" <at> mipmap/ic_launcher"
 
android:label=" <at> string/app_name"
 
android:theme=" <at> style/AppTheme" >
 
<activity
 
android:name="technologx.technologx.SplashScreen"
 
android:label=" <at> string/app_name" >
 
<intent-filter>
 
<action android:name="android.intent.action.MAIN" />

 
<category android:name="android.intent.category.LAUNCHER" />
 
</intent-filter>
 
</activity>
 
<activity
 
android:name="technologx.technologx.MainActivity"
 
android:label=" <at> string/app_name" >
 
<intent-filter>
 
<action android:name="technologx.technologx.MAINACTIVITY" />

 
<category android:name="android.intent.category.DEFAULT" />
 
</intent-filter>
 
</activity>
 
</application>

</manifest>

Here's the errors I"m getting every time I try to create the apk:
Error:(27, 24) No resource found that matches the given name (at 'label' with value ' <at> string/app_name').
Error:(28, 24) No resource found that matches the given name (at 'theme' with value ' <at> style/AppTheme').

Error:(31, 28) No resource found that matches the given name (at 'label' with value ' <at> string/app_name').

Error:(40, 28) No resource found that matches the given name (at 'label' with value ' <at> string/app_name').

Error:Execution failed for task ':app:processReleaseResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Users/knye1991/Library/Android/sdk/build-tools/23.0.2/aapt'' finished with non-zero exit value 1

Could someone possibly help me fix my issue please?

--
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 <at> googlegroups.com.
To post to this group, send email to android-developers <at> googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/c3c5012e-e7a8-4c5d-b178-102f006d5301%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Charlou Jazz Nakamura | 10 Feb 19:29 2016
Picon

multiple arrors in the logcat. what seems to be the problem?

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import java.util.Random;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import android.content.SharedPreferences;


public class PlayGame extends Activity implements View.OnClickListener {


   
private SharedPreferences gamePrefs;
   
public static final String GAME_PREFS = "ArithmeticFile";
   
private void setHighScore(){
       
int exScore = getScore();
       
if(exScore>0){
            SharedPreferences.Editor scoreEdit =
gamePrefs.edit();
            DateFormat dateForm =
new SimpleDateFormat("dd MMM yyyy");
            String dateOutput = dateForm.format(
new Date());
            String scores =
gamePrefs.getString("highScores", "");
           
if (scores.length()>0){
                List<Score> scoreStrings =
new ArrayList<Score>();
                String[] exScores = scores.split(
"\\|");
               
for (String eSc : exScores){
                    String[] parts = eSc.split(
" - ");
                    scoreStrings.add(
new Score(parts[0], Integer.parseInt(parts[1])));
                }
                Score newScore =
new Score(dateOutput, exScore);
                scoreStrings.add(newScore);
                Collections.sort(scoreStrings);

                StringBuilder scoreBuild =
new StringBuilder("");
               
for (int s=0; s<scoreStrings.size(); s++){
                   
if (s>10) break;
                   
if (s>0) scoreBuild.append("|");
                    scoreBuild.append(scoreStrings.get(s).getScoreText());
                }
                scoreEdit.putString(
"highScores", scoreBuild.toString());
                scoreEdit.apply();

            }
           
else {
                setHighScore();
                scoreEdit.putString(
"highScores", ""+dateOutput+" - "+exScore);
                scoreEdit.apply();

            }
        }
    }


   
private int level = 0, answer = 0, operator = 0, operand1 = 0, operand2 = 0;
   
private final int ADD_OPERATOR = 0, SUBTRACT_OPERATOR = 1, MULTIPLY_OPERATOR = 2, DIVIDE_OPERATOR = 3;
   
private String[] operators = {"+", "-", "x", "/"};
   
private int[][] levelMin = {
            {
1, 11, 21},
            {
1, 5, 10},
            {
2, 5, 10},
            {
2, 3, 5}};
   
private int[][] levelMax = {
            {
10, 25, 50},
            {
10, 20, 30},
            {
5, 10, 15},
            {
10, 50, 100}};
   
private Random random;
   
private TextView answerTxt;
   
private TextView scoreTxt;
   
private ImageView response;

   
private  void chooseQuestion(){
       
answerTxt.setText("= ?");
       
operand1 = getOperand();
       
operand2 = getOperand();
       
operator = random.nextInt(operators.length);
       
if (operator == SUBTRACT_OPERATOR){
           
while (operand2>operand1){
               
operand1 = getOperand();
               
operand2 = getOperand();
            }
        }
       
else if (operator==DIVIDE_OPERATOR){
           
while ((((double)operand1/(double)operand2)%1 > 0) || (operand1==operand2))
            {
               
operand1 = getOperand();
               
operand2 = getOperand();
            }
        }
    }

   
private int getOperand() {
       
return random.nextInt(levelMax[operator][level] - levelMin[operator][level] + 1)
                +
levelMin[operator][level];


    }

   
<at> Override
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
        setContentView(R.layout.
activity_play_game);
       
gamePrefs = getSharedPreferences(GAME_PREFS, 0);

       
if (savedInstanceState != null) {
           
level = savedInstanceState.getInt("level");
           
int exScore = savedInstanceState.getInt("score");
           
scoreTxt.setText("Score: " + exScore);
        }
else {
            Bundle extras = getIntent().getExtras();
           
if (extras != null) {
               
int passedLevel = extras.getInt("level", -1);
               
if (passedLevel >= 0) level = passedLevel;
            }

            TextView question = (TextView) findViewById(R.id.
question);
           
answerTxt = (TextView) findViewById(R.id.answer);
           
response = (ImageView) findViewById(R.id.response);
           
scoreTxt = (TextView) findViewById(R.id.score);
           
response.setVisibility(View.INVISIBLE);
            Button btn1 = (Button) findViewById(R.id.
btn1);
            Button btn2 = (Button) findViewById(R.id.
btn2);
            Button btn3 = (Button) findViewById(R.id.
btn3);
            Button btn4 = (Button) findViewById(R.id.
btn4);
            Button btn5 = (Button) findViewById(R.id.
btn5);
            Button btn6 = (Button) findViewById(R.id.
btn6);
            Button btn7 = (Button) findViewById(R.id.
btn7);
            Button btn8 = (Button) findViewById(R.id.
btn8);
            Button btn9 = (Button) findViewById(R.id.
btn9);
            Button btn0 = (Button) findViewById(R.id.
btn0);
            Button enterBtn = (Button) findViewById(R.id.
enter);
            Button clearBtn = (Button) findViewById(R.id.
clear);

            btn1.setOnClickListener(
this);
            btn2.setOnClickListener(
this);
            btn3.setOnClickListener(
this);
            btn4.setOnClickListener(
this);
            btn5.setOnClickListener(
this);
            btn6.setOnClickListener(
this);
            btn7.setOnClickListener(
this);
            btn8.setOnClickListener(
this);
            btn9.setOnClickListener(
this);
            btn0.setOnClickListener(
this);
            enterBtn.setOnClickListener(
this);
            clearBtn.setOnClickListener(
this);

           
if (operator == ADD_OPERATOR) {
               
answer = operand1 + operand2;

            }
else if (operator == SUBTRACT_OPERATOR) {
               
answer = operand1 - operand2;

            }
else if (operator == MULTIPLY_OPERATOR) {
               
answer = operand1 * operand2;

            }
else if (operator == DIVIDE_OPERATOR) {
               
answer = operand1 / operand2;

            }
else {
            }


           
random = new Random();
            chooseQuestion();

            question.setText(
operand1 + " " + operators[operator] + " " + operand2);

        }
    }

   
<at> Override
   
public boolean onCreateOptionsMenu(Menu menu) {
       
// Inflate the menu; this adds items to the action bar if it is present.
       
getMenuInflater().inflate(R.menu.menu_play_game, menu);
       
return true;
    }

   
<at> Override
   
public boolean onOptionsItemSelected(MenuItem item) {
       
// Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
       
int id = item.getItemId();

       
//noinspection SimplifiableIfStatement
       
if (id == R.id.action_settings) {
           
return true;
        }

       
return super.onOptionsItemSelected(item);
    }
   
<at> Override
   
public void onSaveInstanceState (Bundle savedInstanceState){
       
int exScore = getScore();
        savedInstanceState.putInt(
"score", exScore);
        savedInstanceState.putInt(
"level", level);
       
super.onSaveInstanceState(savedInstanceState);
    }

   
<at> Override
   
public void onClick(View v) {
       
if (v.getId() == R.id.enter) {
            String answerContent =
answerTxt.getText().toString();
           
if (!answerContent.endsWith("?")) {
               
int enteredAnswer = Integer.parseInt(answerContent.substring(2));
               
int exScore = getScore();
               
if (enteredAnswer == answer) {
                   
scoreTxt.setText("Score: " + (exScore + 1));
                   
response.setImageResource(R.drawable.tick);
                   
response.setVisibility(View.VISIBLE);
                }
else {
                   
scoreTxt.setText("Score: 0");
                   
response.setImageResource(R.drawable.cross);
                   
response.setVisibility(View.VISIBLE);

                }

            }
else if (v.getId() == R.id.clear) {
               
answerTxt.setText("= ?");
            }
else {
                setHighScore();
               
response.setVisibility(View.INVISIBLE);
               
int enteredNum = Integer.parseInt(v.getTag().toString());
               
if (answerTxt.getText().toString().endsWith("?"))
                   
answerTxt.setText("= " + enteredNum);
               
else
                   
answerTxt.append("" + enteredNum);
                chooseQuestion();
            }
        }
    }
   
protected void onDestroy() {
        setHighScore();
       
super.onDestroy();

    }

   
private int getScore(){
        String scoreStr =
scoreTxt.getText().toString();
       
return Integer.parseInt(scoreStr.substring(scoreStr.lastIndexOf(" ")+1));
    }



}

 

--
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 <at> googlegroups.com.
To post to this group, send email to android-developers <at> googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/7290e86c-634f-468e-94b4-b04ae78ccc04%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Matt Evans | 10 Feb 18:33 2016
Picon

Need a workaround for Doze


I work on an Android application that uses voice recognition for user interaction and communicates to a server to process the responses. The users will use the application continuously for several hours at a time. The app holds a partial wake lock to keep the device running but allow the display to turn off to conserve battery power. This has worked fine until Marshmallow. The Doze feature disables network access, preventing the application from working. I have disabled battery optimization for the app, but it still fails to communicate with the server properly after running for an hour or two. If the app holds a full wake lock, the application properly communicates to the server, but the screen stays on and drains the battery too quickly. Using GCM as recommended by Google is not an option, since the communication is initiated by the device whenever a user speaks.

Is there any way to disable the network access limitations of the Doze feature and still allow the screen to turn off?

Ironically, the Doze feature will cause us a much larger battery drain, if requesting a full wake lock is the only solution.

--
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 <at> googlegroups.com.
To post to this group, send email to android-developers <at> googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/8863ab11-596b-41d2-9fe7-d7288b0f9ad2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Dhiman Chakraborty | 10 Feb 18:14 2016
Picon

Creating second zygote process for the same app.

Hello,

I need two zygote process to fork the system two times for an app to handle different level of inputs.

I see in the ZygoteInit.java file that creating a secondary zygote depends on --abi-list. If there is any unsupprted abi thenzygote-secondary will be created but it will also be created immediately in the function waitForSecondaryZygote(). The socket is killed there.

What is the need of the secondary Zygote?
How can I create another Zygote?
Is Zygote thread safe?

Thanks & regards,
Dhiman 

--
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 <at> googlegroups.com.
To post to this group, send email to android-developers <at> googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/d3cd82c1-cc7f-4a61-9073-a4b91040448c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Jacob Mason | 10 Feb 16:02 2016
Picon
Gravatar

Android Studio automated installation on Windows

I need to mass-install Android Studio on a bunch of Windows computers and would love to be able to script the installation. I can't find a page which details what command line install options are available, if any, for the Windows install bundle (Studio + SDK).  Could someone point me in the right direction? 

Thanks,
Jacob

--
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 <at> googlegroups.com.
To post to this group, send email to android-developers <at> googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/ae0e20f3-2cac-48b0-9639-833e1f5f5bd7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
tharvey | 10 Feb 16:00 2016

Android Studio AVD Lollipop 5.1.1 images using wrong launcher?

I've noticed that the target image available for Lollipop 5.1.1 'with Google services' uses Launcher3 and the target image without the Google services uses Launcher2. Is there a reason for this difference? Is the source for these target images used by the AVD straight from the AOSP repositories or are they hosted somewhere else?  I'm trying to use these images to compare against a 5.1.1 port I'm doing as far as 'look and feel' and what is installed by default.

Regards,

Tim

--
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 <at> googlegroups.com.
To post to this group, send email to android-developers <at> googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/286a2aaf-ce3e-4f86-969c-e1b0424f4d64%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Michael Droll | 10 Feb 16:00 2016
Picon

price for app not changing in play store

I changed the price of my app in the play dev console.  However the store does not show the new price.  I changed the price over a week ago.

attached are screen shots of the console and the store.

--
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 <at> googlegroups.com.
To post to this group, send email to android-developers <at> googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/ffd6121d-fe44-40d8-a968-a14b61497558%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Marco Manfredi | 10 Feb 15:08 2016
Picon

Camera2 - using both TextureSurface and ImageReader slows down preview

Device: Motorola MOTOG 2015
SO: 5.1.1

I'm new to Android development, and I'm trying to use Camera2 to show a preview on screen while using an ImageReader to send captured images to native image processing code.
I followed Camera2Basic to set up my application.
What I want to achieve is a fluid preview independently from the image processing stuff that will send information on a overlay SurfaceView each time a frame is analyzed.

The problem is that I have the ImageReader correctly receiving frames, but I have the preview running slowly (<15fps) no matter what I do in the ImageReader.OnImageAvailableListener method.
The preview is slowed down even if I do nothing in that method but calling:
Image image = mImageReader.acquireLatestImage();
image
.close();

The preview works perfectly fine only if I remove the line that adds the ImageReader as a target Surface for preview:
mPreviewBuilder.addTarget(mSurface);
But, in this way ImageReader.OnImageAvailableListener is never called.
The preview becomes considerably faster as I reduce the resolution of the ImageReader (when initializing it with newInstance()), but I would like to use full-resolution images (1280X960 in my case).

I do the following:

Set up a background thread that I will use for various tasks
mBackgroundThread = new HandlerThread("Camera2Background");
mBackgroundThread
.start();
mBackgroundHandler
= new Handler(mBackgroundThread.getLooper());

Open a CameraDevice using the CameraManager (rear-facing camera).
Set up the ImageReader
Size[] sizes = map.getOutputSizes(ImageFormat.YUV_420_888);
mImageReader
= ImageReader.newInstance(sizes[0].getWidth(), sizes[0].getHeight(), ImageFormat.YUV_420_888,30);
mImageReader
.setOnImageAvailableListener(mOnImageAvailableListener,mBackgroundHandler);
I have set the max number of images to 30 to prevent the camera pipeline to stuck (image processing code requires less than 0.5s)
Set ImageReader.OnImageAvailableListener method
try {
 
Image image = mImageReader.acquireLatestImage();
 image
.close();
}
catch(Exception e){...}

When the camera is opened I do the following
public void onOpened(CameraDevice camera) {
 mCameraDevice
= camera;
 mSurface
= mImageReader.getSurface();
 
SurfaceTexture texture = mTextureView.getSurfaceTexture();
 
if (texture == null) { return; }

 texture
.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight()); // mPreviewSize is the available camera size "closer" to the size of the TextureView (as in Camera2Basic code)
 mSurfaceTexture
= new Surface(texture);
 
try {
     mPreviewBuilder
= mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
 
} catch (CameraAccessException e){ e.printStackTrace(); }

 mPreviewBuilder
.addTarget(mSurfaceTexture);
 mPreviewBuilder
.addTarget(mSurface); // If I remove this OnImageAvailableListener() is never called, but preview runs smoothly
 
try {
     mCameraDevice
.createCaptureSession(Arrays.asList(mSurfaceTexture, mSurface), mPreviewStateCallback, null);
 
} catch (CameraAccessException e) { e.printStackTrace(); }
}


Set the previewState callback like this:
CameraCaptureSession.StateCallback mPreviewStateCallback = new CameraCaptureSession.StateCallback() {
 
<at> Override
 
public void onConfigured(CameraCaptureSession session) {
 
if(mCameraDevice==null)
     
return;
 mPreviewSession
= session;
 mPreviewBuilder
.set(CaptureRequest.CONTROL_MODE, CameraMetadata.CONTROL_MODE_AUTO);
 mPreviewBuilder
.set(CaptureRequest.CONTROL_AF_MODE,CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_VIDEO);
 
try {
     mPreviewSession
.setRepeatingRequest(mPreviewBuilder.build(), null, mBackgroundHandler);
 
} catch (CameraAccessException e) { e.printStackTrace(); }
 
}
};



Thank you very much for the help.

--
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 <at> googlegroups.com.
To post to this group, send email to android-developers <at> googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/4072f032-d537-44ee-89c5-cb31f52be538%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Jaydeep Gedia | 10 Feb 14:15 2016
Picon

make a side by side camera surface view application

Hey  I want to make an application which runs a side by side camera surface view.
No capture buttion or anything just two camera surface view side by side.
can anyone guide me how to do it.

--
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 <at> googlegroups.com.
To post to this group, send email to android-developers <at> googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/79a2fc3b-2083-4b77-b698-f8a9380a22b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Gmane