Add replaceText function in UiElement

This function will delete the current text of the element and then call setText

Change-Id: I2f97809a54e60bc4448246b8c050792168358147
diff --git a/src/com/google/android/droiddriver/UiElement.java b/src/com/google/android/droiddriver/UiElement.java
index 71b43ed..72804d8 100644
--- a/src/com/google/android/droiddriver/UiElement.java
+++ b/src/com/google/android/droiddriver/UiElement.java
@@ -152,6 +152,13 @@
   void setText(String text);
 
   /**
+  * Replace the text of this element.
+  *
+  * @param text The text that be replaced with
+  */
+  void replaceText(String text);
+
+  /**
    * Clicks this element. The click will be at the center of the visible
    * element.
    */
diff --git a/src/com/google/android/droiddriver/base/BaseUiElement.java b/src/com/google/android/droiddriver/base/BaseUiElement.java
index 3122ba3..ce3849a 100644
--- a/src/com/google/android/droiddriver/base/BaseUiElement.java
+++ b/src/com/google/android/droiddriver/base/BaseUiElement.java
@@ -21,6 +21,7 @@
 import com.google.android.droiddriver.UiElement;
 import com.google.android.droiddriver.actions.Action;
 import com.google.android.droiddriver.actions.EventUiElementActor;
+import com.google.android.droiddriver.actions.SingleKeyAction;
 import com.google.android.droiddriver.actions.UiElementActor;
 import com.google.android.droiddriver.exceptions.DroidDriverException;
 import com.google.android.droiddriver.finders.Attribute;
@@ -211,6 +212,15 @@
   }
 
   @Override
+  public void replaceText(String text) {
+      int len = this.getText().length();
+      for (int i = 0; i < len; i++) {
+          this.perform(SingleKeyAction.DELETE);
+      }
+      this.setText(text);
+  }
+
+  @Override
   public void click() {
     uiElementActor.click(this);
   }