Change AppPicker theme from dialog to full screen

AppPicker used in devceloper options, it will show apps list with
package name in a dialog.
But sometimes it will mis-alignment with package name.
So we change theme from dialog to full screen and set widget_frame
visibility to GONE.

Bug: 151150544
Test: manual
Change-Id: I8f04ab7967288801e5e13ecccf037d6ed09ec71c
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index a6ba436..643f85c 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1981,8 +1981,7 @@
         </activity>
 
         <activity android:name=".development.AppPicker"
-                  android:label="@string/select_application"
-                  android:theme="@android:style/Theme.DeviceDefault.Light.Dialog" />
+                  android:label="@string/select_application" />
 
         <activity android:name=".development.DSULoader"
                   android:label="Select DSU Package"
diff --git a/src/com/android/settings/development/AppPicker.java b/src/com/android/settings/development/AppPicker.java
index d819bc2..8e927db 100644
--- a/src/com/android/settings/development/AppPicker.java
+++ b/src/com/android/settings/development/AppPicker.java
@@ -26,6 +26,7 @@
 import android.os.Bundle;
 import android.os.Process;
 import android.view.LayoutInflater;
+import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ArrayAdapter;
@@ -54,6 +55,7 @@
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
+        getActionBar().setDisplayHomeAsUpEnabled(true);
 
         mPermissionName = getIntent().getStringExtra(EXTRA_REQUESTIING_PERMISSION);
         mDebuggableOnly = getIntent().getBooleanExtra(EXTRA_DEBUGGABLE, false);
@@ -68,6 +70,15 @@
     }
 
     @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (item.getItemId() == android.R.id.home) {
+            handleBackPressed();
+            return true;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
+    @Override
     protected void onListItemClick(ListView l, View v, int position, long id) {
         MyApplicationInfo app = mAdapter.getItem(position);
         Intent intent = new Intent();
@@ -76,6 +87,15 @@
         finish();
     }
 
+    private void handleBackPressed() {
+        if (getFragmentManager().getBackStackEntryCount() > 1) {
+            super.onBackPressed();
+        } else {
+            setResult(RESULT_CANCELED);
+            finish();
+        }
+    }
+
     class MyApplicationInfo {
         ApplicationInfo info;
         CharSequence label;
@@ -162,6 +182,7 @@
                 holder.summary.setText("");
             }
             holder.disabled.setVisibility(View.GONE);
+            holder.widget.setVisibility(View.GONE);
             return convertView;
         }
     }
diff --git a/src/com/android/settings/development/AppViewHolder.java b/src/com/android/settings/development/AppViewHolder.java
index 1082efe..4deef90 100644
--- a/src/com/android/settings/development/AppViewHolder.java
+++ b/src/com/android/settings/development/AppViewHolder.java
@@ -32,6 +32,7 @@
     public ImageView appIcon;
     public TextView summary;
     public TextView disabled;
+    public View widget;
 
     static public AppViewHolder createOrRecycle(LayoutInflater inflater, View convertView) {
         if (convertView == null) {
@@ -45,6 +46,7 @@
             holder.appIcon = convertView.findViewById(android.R.id.icon);
             holder.summary = convertView.findViewById(android.R.id.summary);
             holder.disabled = convertView.findViewById(R.id.appendix);
+            holder.widget = convertView.findViewById(android.R.id.widget_frame);
             convertView.setTag(holder);
             return holder;
         } else {