commit 9814e53c40123d1875742999b1e2105cc895dc84
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Dec 20 00:30:18 2018 +0000

    Progress with the 'Earth' app.

diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index ba87fd1..fbd8372 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -52,6 +52,6 @@
         <activity android:name=".glow.GlowActivity"/>
         <activity android:name=".movingglow.MovingGlowActivity"/>
         <activity android:name=".earth.EarthActivity"/>
-        <activity android:name=".earth.EarthActivity2"/>
+        <activity android:name=".earth.EarthActivity"/>
     </application>
 </manifest>
diff --git a/src/main/java/org/distorted/examples/earth/EarthActivity.java b/src/main/java/org/distorted/examples/earth/EarthActivity.java
index 125c946..b2f085e 100644
--- a/src/main/java/org/distorted/examples/earth/EarthActivity.java
+++ b/src/main/java/org/distorted/examples/earth/EarthActivity.java
@@ -20,306 +20,106 @@
 package org.distorted.examples.earth;
 
 import android.app.Activity;
-import android.content.Intent;
+import android.opengl.GLSurfaceView;
 import android.os.Bundle;
-import android.view.Gravity;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.Button;
-import android.widget.LinearLayout;
-import android.widget.NumberPicker;
-import android.widget.Spinner;
-import android.widget.TableRow;
+import android.widget.SeekBar;
 
 import org.distorted.examples.R;
+import org.distorted.library.main.Distorted;
+import org.distorted.library.main.DistortedTexture;
+import org.distorted.library.mesh.MeshBase;
+import org.distorted.library.mesh.MeshSphere;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-public class EarthActivity extends Activity
-                               implements View.OnClickListener, AdapterView.OnItemSelectedListener
-  {
-  private static final int COLOR_OFF = 0xffffe81f;
-  private static final int COLOR_ON  = 0xff0000ff;
-  private static final int COLOR_INAC= 0xff999999;
+public class EarthActivity extends Activity implements SeekBar.OnSeekBarChangeListener
+{
+    private static final int SIZE = 100;
+    private static final int LEVEL=  32;
 
-  private int mNumCols = 1;
-  private int mNumRows = 1;
-  private int mNumSlic = 1;
-  private boolean mGridInitialized;
-  private NumberPicker mColsPicker, mRowsPicker, mSlicPicker;
-  private boolean[] mShape;
-  private int mObjectType;
-  private int mBitmapID;
-  private LinearLayout mLay;
+    private DistortedTexture mTexture;
+    private MeshBase mMesh;
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  @Override
-  protected void onCreate(Bundle savedState)
-    {
-    super.onCreate(savedState);
-
-    setContentView(R.layout.objectpickerlayout);
-
-    mLay = findViewById(R.id.objectpicker_buttongrid);
-
-    mColsPicker = findViewById(R.id.objectpicker_cols);
-    mRowsPicker = findViewById(R.id.objectpicker_rows);
-    mSlicPicker = findViewById(R.id.objectpicker_slices);
-
-    mColsPicker.setMaxValue(40);
-    mColsPicker.setMinValue( 1);
-    mRowsPicker.setMaxValue(40);
-    mRowsPicker.setMinValue( 1);
-    mSlicPicker.setMaxValue(40);
-    mSlicPicker.setMinValue( 0);
-
-    mColsPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener()
-         {
-         @Override
-         public void onValueChange(NumberPicker picker, int oldVal, int newVal)
-           {
-           setGrid();
-           }
-         });
-
-    mRowsPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener()
-         {
-         @Override
-         public void onValueChange(NumberPicker picker, int oldVal, int newVal)
-           {
-           setGrid();
-           }
-         });
-
-    mSlicPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener()
-         {
-         @Override
-         public void onValueChange(NumberPicker picker, int oldVal, int newVal)
-           {
-           mNumSlic = mSlicPicker.getValue();
-           }
-         });
-
-    mObjectType = 0;
-    mGridInitialized = false;
-
-    Spinner typeSpinner  = findViewById(R.id.objectpicker_spinnerType);
-    typeSpinner.setOnItemSelectedListener(this);
-
-    String[] objectType = new String[] {"Mesh: Cubes", "Mesh: Flat", "Mesh: Sphere", "Mesh: Quad"};
-
-    ArrayAdapter<String> adapterType = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectType);
-    adapterType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-    typeSpinner.setAdapter(adapterType);
-
-    Spinner bitmapSpinner  = findViewById(R.id.objectpicker_spinnerBitmap);
-    bitmapSpinner.setOnItemSelectedListener(this);
-
-    String[] objectBitmap = new String[] { "Texture: Grid", "Texture: Girl", "Texture: Dog", "Texture: Cat",
-                                           "Texture: Squares", "Texture: Bean", "Texture: Lisa", "Texture: World" };
-
-    ArrayAdapter<String> adapterBitmap = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectBitmap);
-    adapterBitmap.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-    bitmapSpinner.setAdapter(adapterBitmap);
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  private void setGrid()
-    {
-    mGridInitialized = true;
-
-    mNumCols = mColsPicker.getValue();
-    mNumRows = mRowsPicker.getValue();
-
-    int width = mLay.getWidth();
-    int height= mLay.getHeight();
-    int w = mNumCols>0 ? (int)( 0.9f*width / mNumCols) : 0;
-    int h = mNumRows>0 ? (int)( 0.9f*height/ mNumRows) : 0;
-    int size= w<h ? w:h;
-    int pad = size<20 ? 1 : size/20;
-
-    mLay.removeAllViews();
-
-    mShape = new boolean[mNumRows*mNumCols];
-
-    TableRow.LayoutParams p = new TableRow.LayoutParams();
-
-    p.rightMargin  = pad;
-    p.leftMargin   = pad;
-    p.topMargin    = pad;
-    p.bottomMargin = pad;
-    p.height       = size;
-    p.width        = size;
-
-    for (int rows=0; rows<mNumRows; rows++)
+    
+    @Override
+    protected void onPause() 
       {
-      TableRow tr = new TableRow(this);
-      tr.setGravity(Gravity.CENTER);
-
-      for(int cols=0; cols<mNumCols; cols++)
-        {
-        Button b = new Button(this);
-        b.setOnClickListener(this);
-        b.setId(rows*mNumCols+cols);
-        b.setLayoutParams(p);
-        b.setBackgroundColor(mObjectType==0 ? COLOR_ON:COLOR_INAC);
-        tr.addView(b, p);
-        mShape[rows*mNumCols+cols] = true;
-        }
+      GLSurfaceView mView = this.findViewById(R.id.earthSurfaceView);
+      if( mView!=null ) mView.onPause();
 
-      mLay.addView(tr);
+      Distorted.onPause();
+      super.onPause();
       }
-    }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  public void onClick(View view)
-    {
-    if( mObjectType==0 )  // cubes
+    
+    @Override
+    protected void onResume() 
       {
-      Button tmp = (Button)view;
-      int id = tmp.getId();
-      mShape[id] = !mShape[id];
-      tmp.setBackgroundColor(mShape[id] ? COLOR_ON:COLOR_OFF);
+      super.onResume();
+      
+      GLSurfaceView mView = this.findViewById(R.id.earthSurfaceView);
+      if( mView!=null ) mView.onResume();  
       }
-    }
-
+    
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  private void uncheckAll()
-    {
-    TableRow tr;
-    Button butt;
-
-    for (int row=0; row<mNumRows; row++)
+    
+    @Override
+    protected void onDestroy() 
       {
-      tr = (TableRow)mLay.getChildAt(row);
-
-      for(int col=0; col<mNumCols; col++)
-        {
-        butt = (Button)tr.getVirtualChildAt(col);
-        butt.setBackgroundColor(mObjectType==0 ? COLOR_ON : COLOR_INAC);
-        mShape[row*mNumCols+col] = true;
-        }
+      Distorted.onDestroy();  
+      super.onDestroy();
       }
-    }
-
+ 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void Create(View v)
-    {
-    Intent mainInt = new Intent( getApplicationContext(), EarthActivity2.class);
-    Bundle b = new Bundle();
-
-    int rows=0, cols=0;
-
-    switch(mObjectType)
+    @Override
+    protected void onCreate(Bundle savedState)
       {
-      case 0:
-      case 1: rows = mNumRows;
-              cols = mNumCols;
-              break;
-      case 2: rows = mNumRows;   // always make the sphere equal in X and Y
-              cols = mNumRows;   //
-              break;
-      case 3: rows = 1;          // a quad is always 1x1
-              cols = 1;
-              break;
-      }
-
-    b.putInt("type", mObjectType);
-    b.putInt("cols", cols);
-    b.putInt("rows", rows);
-    b.putInt("slices", mNumSlic);
-    b.putInt("bitmap", mBitmapID);
+      super.onCreate(savedState);
 
-    if( mObjectType==0 )   // cubes
-      {
-      String str = "";
+      mMesh = new MeshSphere(LEVEL);
+      mTexture= new DistortedTexture(SIZE,SIZE);
 
-      for(int i=0; i<mNumRows*mNumCols; i++)
-        str += mShape[i] ? "1" : "0";
+      setContentView(R.layout.earthlayout);
 
-      b.putString("string", str);
-      }
-    else
-      {
-      b.putString("string", "");
+      SeekBar levelBar = findViewById(R.id.earthInflateLevel);
+      levelBar.setOnSeekBarChangeListener(this);
+      levelBar.setProgress(50);
       }
 
-    mainInt.putExtras(b);
-    startActivity(mainInt);
-    }
-
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)
-    {
-    switch(parent.getId())
+    public void onProgressChanged(SeekBar bar, int progress, boolean fromUser)
       {
-      case R.id.objectpicker_spinnerType  : if( mObjectType!=pos )
-                                              {
-                                              mObjectType = pos;
-                                              uncheckAll();
-
-                                              switch(mObjectType)
-                                                {
-                                                case 0: mColsPicker.setEnabled(true);
-                                                        mRowsPicker.setEnabled(true);
-                                                        mSlicPicker.setEnabled(true);
-                                                        break;
-                                                case 1: mColsPicker.setEnabled(true);
-                                                        mRowsPicker.setEnabled(true);
-                                                        mSlicPicker.setEnabled(false);
-                                                        break;
-                                                case 2: mColsPicker.setEnabled(false);
-                                                        mRowsPicker.setEnabled(true);
-                                                        mSlicPicker.setEnabled(false);
-                                                        break;
-                                                case 3: mColsPicker.setEnabled(false);
-                                                        mRowsPicker.setEnabled(false);
-                                                        mSlicPicker.setEnabled(false);
-                                                        break;
-                                                }
-                                              }
-                                            break;
-      case R.id.objectpicker_spinnerBitmap: switch(pos)
-                                              {
-                                              case 0: mBitmapID = -1            ; break;
-                                              case 1: mBitmapID = R.raw.face    ; break;
-                                              case 2: mBitmapID = R.raw.dog     ; break;
-                                              case 3: mBitmapID = R.raw.cat     ; break;
-                                              case 4: mBitmapID = R.raw.grid    ; break;
-                                              case 5: mBitmapID = R.raw.bean    ; break;
-                                              case 6: mBitmapID = R.raw.monalisa; break;
-                                              case 7: mBitmapID = R.raw.world   ; break;
-                                              }
-                                            break;
+      switch (bar.getId())
+        {
+        case R.id.earthInflateLevel: EarthSurfaceView view = this.findViewById(R.id.earthSurfaceView);
+                                     view.getRenderer().setLevel(progress);
+                                     break;
+        }
       }
-    }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  public void onNothingSelected(AdapterView<?> parent)
-    {
-    }
+    public void onStartTrackingTouch(SeekBar bar) { }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
-// Overrides
+
+    public void onStopTrackingTouch(SeekBar bar)  { }
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-  @Override
-  public void onWindowFocusChanged(boolean hasFocus)
-    {
-    super.onWindowFocusChanged(hasFocus);
+    public DistortedTexture getTexture()
+      {
+      return mTexture;
+      }
 
-    mColsPicker.setValue(mNumCols);
-    mRowsPicker.setValue(mNumRows);
-    mSlicPicker.setValue(mNumSlic);
+///////////////////////////////////////////////////////////////////////////////////////////////////
 
-    if( !mGridInitialized ) setGrid();
-    }
-  }
+    public MeshBase getMesh()
+      {
+      return mMesh;
+      }
+}
diff --git a/src/main/java/org/distorted/examples/earth/EarthActivity2.java b/src/main/java/org/distorted/examples/earth/EarthActivity2.java
deleted file mode 100644
index 7125b32..0000000
--- a/src/main/java/org/distorted/examples/earth/EarthActivity2.java
+++ /dev/null
@@ -1,208 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// Copyright 2016 Leszek Koltunski                                                               //
-//                                                                                               //
-// This file is part of Distorted.                                                               //
-//                                                                                               //
-// Distorted is free software: you can redistribute it and/or modify                             //
-// it under the terms of the GNU General Public License as published by                          //
-// the Free Software Foundation, either version 2 of the License, or                             //
-// (at your option) any later version.                                                           //
-//                                                                                               //
-// Distorted is distributed in the hope that it will be useful,                                  //
-// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
-// GNU General Public License for more details.                                                  //
-//                                                                                               //
-// You should have received a copy of the GNU General Public License                             //
-// along with Distorted.  If not, see <http://www.gnu.org/licenses/>.                            //
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-package org.distorted.examples.earth;
-
-import android.app.Activity;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.opengl.GLSurfaceView;
-import android.os.Bundle;
-import android.widget.SeekBar;
-import android.widget.TextView;
-
-import org.distorted.examples.R;
-import org.distorted.library.main.Distorted;
-import org.distorted.library.main.DistortedTexture;
-import org.distorted.library.mesh.MeshBase;
-import org.distorted.library.mesh.MeshCubes;
-import org.distorted.library.mesh.MeshFlat;
-import org.distorted.library.mesh.MeshQuad;
-import org.distorted.library.mesh.MeshSphere;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-public class EarthActivity2 extends Activity implements SeekBar.OnSeekBarChangeListener
-{
-    private DistortedTexture mTexture;
-    private MeshBase mMesh;
-    private TextView mTextLevel;
-    private int mBitmapID;
-    private Bitmap mBitmap;
-    private int mNumCols;
-    private int mNumRows;
-    private int mNumSlic;
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-    
-    @Override
-    protected void onPause() 
-      {
-      GLSurfaceView mView = this.findViewById(R.id.earthSurfaceView);
-      if( mView!=null ) mView.onPause();
-
-      Distorted.onPause();
-      super.onPause();
-      }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-    
-    @Override
-    protected void onResume() 
-      {
-      super.onResume();
-      
-      GLSurfaceView mView = this.findViewById(R.id.earthSurfaceView);
-      if( mView!=null ) mView.onResume();  
-      }
-    
-///////////////////////////////////////////////////////////////////////////////////////////////////
-    
-    @Override
-    protected void onDestroy() 
-      {
-      Distorted.onDestroy();  
-      super.onDestroy();
-      }
- 
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    @Override
-    protected void onCreate(Bundle savedState)
-      {
-      super.onCreate(savedState);
-
-      Bundle b = getIntent().getExtras();
-
-      String str     = b.getString("string");
-      int objectType = b.getInt("type");
-      mNumCols       = b.getInt("cols");
-      mNumRows       = b.getInt("rows");
-      mNumSlic       = b.getInt("slices");
-      mBitmapID      = b.getInt("bitmap");
-
-      switch(objectType)
-        {
-        case 0: mMesh = new MeshCubes(mNumCols, str, mNumSlic);
-                break;
-        case 1: mMesh = new MeshFlat(mNumCols,mNumRows);
-                break;
-        case 2: mMesh = new MeshSphere(mNumRows);
-                break;
-        case 3: mMesh = new MeshQuad();
-                break;
-        }
-
-      mTexture= new DistortedTexture(mNumCols,mNumRows);
-
-      setContentView(R.layout.earthlayout);
-
-      mTextLevel = findViewById(R.id.earthInflateText);
-      SeekBar levelBar = findViewById(R.id.earthInflateLevel);
-      levelBar.setOnSeekBarChangeListener(this);
-      levelBar.setProgress(50);
-      }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public Bitmap getBitmap()
-      {
-      if( mBitmap==null )
-        {
-        if( mBitmapID!=-1)
-          {
-          InputStream is = getResources().openRawResource(mBitmapID);
-
-          try
-            {
-            mBitmap = BitmapFactory.decodeStream(is);
-            }
-          finally
-            {
-            try
-              {
-              is.close();
-              }
-            catch(IOException e) { }
-            }
-          }
-        else
-          {
-          final int W = 64*mNumCols;
-          final int H = 64*mNumRows;
-
-          Paint paint = new Paint();
-          mBitmap = Bitmap.createBitmap(W,H, Bitmap.Config.ARGB_8888);
-          Canvas canvas = new Canvas(mBitmap);
-
-          paint.setAntiAlias(true);
-          paint.setTextAlign(Paint.Align.CENTER);
-          paint.setColor(0xff008800);
-          paint.setStyle(Paint.Style.FILL);
-          canvas.drawRect(0, 0, W, H, paint);
-          paint.setColor(0xffffffff);
-
-          for(int i=0; i<=mNumCols ; i++ ) canvas.drawRect(W*i/mNumCols-1, 0, W*i/mNumCols + 1, H, paint);
-          for(int i=0; i<=mNumRows ; i++ ) canvas.drawRect( 0, H*i/mNumRows-1, W,  H*i/mNumRows+1, paint);
-          }
-        }
-
-      return mBitmap;
-      }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public void onProgressChanged(SeekBar bar, int progress, boolean fromUser)
-      {
-      switch (bar.getId())
-        {
-        case R.id.earthInflateLevel: EarthSurfaceView view = this.findViewById(R.id.earthSurfaceView);
-                                     float level = view.getRenderer().setLevel(progress);
-                                     mTextLevel.setText(getString(R.string.inflate_placeholder, level));
-                                     break;
-        }
-      }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public void onStartTrackingTouch(SeekBar bar) { }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public void onStopTrackingTouch(SeekBar bar)  { }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public DistortedTexture getTexture()
-      {
-      return mTexture;
-      }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-    public MeshBase getMesh()
-      {
-      return mMesh;
-      }
-}
diff --git a/src/main/java/org/distorted/examples/earth/EarthRenderer.java b/src/main/java/org/distorted/examples/earth/EarthRenderer.java
index 8998660..67b338a 100644
--- a/src/main/java/org/distorted/examples/earth/EarthRenderer.java
+++ b/src/main/java/org/distorted/examples/earth/EarthRenderer.java
@@ -19,8 +19,11 @@
 
 package org.distorted.examples.earth;
 
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
 import android.opengl.GLSurfaceView;
 
+import org.distorted.examples.R;
 import org.distorted.library.effect.MatrixEffectMove;
 import org.distorted.library.effect.MatrixEffectQuaternion;
 import org.distorted.library.effect.MatrixEffectScale;
@@ -33,6 +36,9 @@ import org.distorted.library.type.DynamicQuat;
 import org.distorted.library.type.Static3D;
 import org.distorted.library.type.Static4D;
 
+import java.io.IOException;
+import java.io.InputStream;
+
 import javax.microedition.khronos.egl.EGLConfig;
 import javax.microedition.khronos.opengles.GL10;
 
@@ -64,7 +70,7 @@ class EarthRenderer implements GLSurfaceView.Renderer
       mScale= new Static3D(1,1,1);
       mCenter=new Static3D(0,0,0);
 
-      EarthActivity2 act = (EarthActivity2)v.getContext();
+      EarthActivity act = (EarthActivity)v.getContext();
 
       mTexture = act.getTexture();
       mMesh    = act.getMesh();
@@ -89,7 +95,6 @@ class EarthRenderer implements GLSurfaceView.Renderer
       mEffects.apply( new MatrixEffectQuaternion(quatInt2, mCenter) );
 
       mScreen = new DistortedScreen();
-      mScreen.glClearColor(1.0f,1.0f,1.0f,0.0f);
       mScreen.setProjection(FOV, NEAR);
       }
 
@@ -116,21 +121,33 @@ class EarthRenderer implements GLSurfaceView.Renderer
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
-    float setLevel(int level)
+    void setLevel(int level)
       {
       float inflateLevel = (level-50)/50.0f;
       mMesh.setInflate(inflateLevel);
-
-      return inflateLevel;
       }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
     
     public void onSurfaceCreated(GL10 glUnused, EGLConfig config) 
       {
-      EarthActivity2 act = (EarthActivity2)mView.getContext();
+      InputStream is = mView.getContext().getResources().openRawResource(R.raw.world);
+      Bitmap bitmap;
+
+      try
+        {
+        bitmap = BitmapFactory.decodeStream(is);
+        }
+      finally
+        {
+        try
+          {
+          is.close();
+          }
+        catch(IOException e) { }
+        }
 
-      mTexture.setTexture( act.getBitmap() );
+      mTexture.setTexture(bitmap);
 
       mScreen.detachAll();
       mScreen.attach(mTexture,mEffects,mMesh);
diff --git a/src/main/res/layout/earthlayout.xml b/src/main/res/layout/earthlayout.xml
index 1bd95f5..8f70ce6 100644
--- a/src/main/res/layout/earthlayout.xml
+++ b/src/main/res/layout/earthlayout.xml
@@ -19,18 +19,9 @@
         android:orientation="horizontal"
         android:background="@color/blue">
 
-        <TextView
-            android:id="@+id/earthInflateText"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="0.3"
-            android:paddingLeft="10dp"
-            android:text="@string/inflate" />
-
         <SeekBar
             android:id="@+id/earthInflateLevel"
-            android:layout_weight="0.7"
-            android:layout_width="0dp"
+            android:layout_width="fill_parent"
             android:layout_height="50dp"
             android:paddingLeft="10dp"
             android:paddingRight="10dp" />
