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 {