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
This commit is contained in:
Edgar Wang
2020-05-05 06:19:14 +08:00
parent 1e0789355e
commit 3c03f0a8a8
3 changed files with 24 additions and 2 deletions

View File

@@ -1981,8 +1981,7 @@
</activity> </activity>
<activity android:name=".development.AppPicker" <activity android:name=".development.AppPicker"
android:label="@string/select_application" android:label="@string/select_application" />
android:theme="@android:style/Theme.DeviceDefault.Light.Dialog" />
<activity android:name=".development.DSULoader" <activity android:name=".development.DSULoader"
android:label="Select DSU Package" android:label="Select DSU Package"

View File

@@ -26,6 +26,7 @@ import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Process; import android.os.Process;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
@@ -54,6 +55,7 @@ public class AppPicker extends ListActivity {
@Override @Override
protected void onCreate(Bundle icicle) { protected void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
getActionBar().setDisplayHomeAsUpEnabled(true);
mPermissionName = getIntent().getStringExtra(EXTRA_REQUESTIING_PERMISSION); mPermissionName = getIntent().getStringExtra(EXTRA_REQUESTIING_PERMISSION);
mDebuggableOnly = getIntent().getBooleanExtra(EXTRA_DEBUGGABLE, false); mDebuggableOnly = getIntent().getBooleanExtra(EXTRA_DEBUGGABLE, false);
@@ -67,6 +69,15 @@ public class AppPicker extends ListActivity {
} }
} }
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
handleBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
@Override @Override
protected void onListItemClick(ListView l, View v, int position, long id) { protected void onListItemClick(ListView l, View v, int position, long id) {
MyApplicationInfo app = mAdapter.getItem(position); MyApplicationInfo app = mAdapter.getItem(position);
@@ -76,6 +87,15 @@ public class AppPicker extends ListActivity {
finish(); finish();
} }
private void handleBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 1) {
super.onBackPressed();
} else {
setResult(RESULT_CANCELED);
finish();
}
}
class MyApplicationInfo { class MyApplicationInfo {
ApplicationInfo info; ApplicationInfo info;
CharSequence label; CharSequence label;
@@ -162,6 +182,7 @@ public class AppPicker extends ListActivity {
holder.summary.setText(""); holder.summary.setText("");
} }
holder.disabled.setVisibility(View.GONE); holder.disabled.setVisibility(View.GONE);
holder.widget.setVisibility(View.GONE);
return convertView; return convertView;
} }
} }

View File

@@ -32,6 +32,7 @@ public class AppViewHolder {
public ImageView appIcon; public ImageView appIcon;
public TextView summary; public TextView summary;
public TextView disabled; public TextView disabled;
public View widget;
static public AppViewHolder createOrRecycle(LayoutInflater inflater, View convertView) { static public AppViewHolder createOrRecycle(LayoutInflater inflater, View convertView) {
if (convertView == null) { if (convertView == null) {
@@ -45,6 +46,7 @@ public class AppViewHolder {
holder.appIcon = convertView.findViewById(android.R.id.icon); holder.appIcon = convertView.findViewById(android.R.id.icon);
holder.summary = convertView.findViewById(android.R.id.summary); holder.summary = convertView.findViewById(android.R.id.summary);
holder.disabled = convertView.findViewById(R.id.appendix); holder.disabled = convertView.findViewById(R.id.appendix);
holder.widget = convertView.findViewById(android.R.id.widget_frame);
convertView.setTag(holder); convertView.setTag(holder);
return holder; return holder;
} else { } else {