Fix marquee on app snippet in InstalledAppDetails

First need to fix layout of the app_item as the widget was running
over the end of the view, do this by switching to a RelativeLayout.

Then select the view so it can actually marquee.

Bug: 22043942
Change-Id: Ieb94649ccf3dc8dcf56014c02fcdc06da71a9a62
diff --git a/res/layout/app_item.xml b/res/layout/app_item.xml
index 26f2b1e..c5a73af 100644
--- a/res/layout/app_item.xml
+++ b/res/layout/app_item.xml
@@ -14,12 +14,13 @@
      limitations under the License.
 -->
 
-<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="72dp"
     android:paddingTop="16dp"
     android:paddingBottom="16dp"
+    android:gravity="top"
     android:columnCount="3">
 
     <ImageView
@@ -28,15 +29,14 @@
         android:layout_height="@dimen/app_icon_size"
         android:layout_gravity="center"
         android:scaleType="fitXY"
-        android:layout_rowSpan="3"
         android:layout_marginEnd="16dip"
         android:contentDescription="@null" />
 
     <TextView
         android:id="@android:id/title"
-        android:layout_width="0dip"
-        android:layout_gravity="fill_horizontal"
-        android:layout_marginTop="2dip"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_toEndOf="@android:id/icon"
         android:singleLine="true"
         android:ellipsize="marquee"
         android:textAppearance="@android:style/TextAppearance.Material.Subhead"
@@ -45,8 +45,12 @@
 
     <TextView
         android:id="@android:id/summary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_toEndOf="@android:id/title"
+        android:layout_alignParentEnd="true"
         android:layout_marginStart="6dip"
-        android:layout_marginTop="2dip"
+        android:gravity="end"
         android:singleLine="true"
         android:ellipsize="marquee"
         android:textAppearance="@android:style/TextAppearance.Material.Subhead"
@@ -54,8 +58,11 @@
 
     <FrameLayout
         android:id="@android:id/widget_frame"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_columnSpan="2"
+        android:layout_toEndOf="@android:id/icon"
+        android:layout_below="@android:id/title"
+        android:layout_alignParentEnd="true"
         android:layout_gravity="fill_horizontal|top" />
 
-</GridLayout>
+</RelativeLayout>
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index e78c697..a275743 100755
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -763,6 +763,7 @@
         TextView appVersion = (TextView) appSnippet.findViewById(R.id.widget_text1);
 
         if (!TextUtils.isEmpty(versionName)) {
+            appVersion.setSelected(true);
             appVersion.setVisibility(View.VISIBLE);
             appVersion.setText(appSnippet.getContext().getString(R.string.version_text,
                     String.valueOf(versionName)));