Change display size preview for app icons.

The new UI intentionally does not look like the app drawer from
launcher so user is clear this is a preview screen.

Change-Id: Iba87fab72e77921c1f1014fca24476bd4af2d19c
Fixes: 70043399
Test: visual
This commit is contained in:
Fan Zhang
2018-06-14 10:25:58 -07:00
parent 04233df504
commit 275da6a878
4 changed files with 41 additions and 37 deletions

View File

@@ -17,4 +17,7 @@
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:padding="32dp"
android:numColumns="3"
android:gravity="center"
android:importantForAccessibility="noHideDescendants" /> android:importantForAccessibility="noHideDescendants" />

View File

@@ -14,18 +14,14 @@
limitations under the License. limitations under the License.
--> -->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:importantForAccessibility="noHideDescendants">
<LinearLayout <LinearLayout
android:layout_width="@dimen/screen_zoom_preview_app_icon_width" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|top" android:layout_gravity="center_horizontal|top"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:orientation="vertical" android:orientation="vertical"
android:padding="8dp"> android:paddingTop="8dp">
<ImageView <ImageView
android:id="@android:id/icon1" android:id="@android:id/icon1"
@@ -43,4 +39,3 @@
android:singleLine="true" android:singleLine="true"
android:textAppearance="@android:style/TextAppearance.Material.Caption" /> android:textAppearance="@android:style/TextAppearance.Material.Caption" />
</LinearLayout> </LinearLayout>
</FrameLayout>

View File

@@ -251,7 +251,6 @@
<dimen name="unmount_button_padding">8dp</dimen> <dimen name="unmount_button_padding">8dp</dimen>
<!-- Display, Screen zoom --> <!-- Display, Screen zoom -->
<dimen name="screen_zoom_preview_app_icon_width">88dp</dimen>
<dimen name="conversation_message_list_padding">10dp</dimen> <dimen name="conversation_message_list_padding">10dp</dimen>
<dimen name="conversation_message_contact_icon_text_size">32sp</dimen> <dimen name="conversation_message_contact_icon_text_size">32sp</dimen>
<dimen name="conversation_message_text_size">16sp</dimen> <dimen name="conversation_message_text_size">16sp</dimen>

View File

@@ -22,7 +22,6 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.UserHandle; import android.os.UserHandle;
import androidx.annotation.VisibleForTesting;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.IconDrawableFactory; import android.util.IconDrawableFactory;
import android.view.View; import android.view.View;
@@ -37,28 +36,32 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import androidx.annotation.VisibleForTesting;
public class AppGridView extends GridView { public class AppGridView extends GridView {
public AppGridView(Context context) { public AppGridView(Context context) {
this(context, null); super(context);
init(context);
} }
public AppGridView(Context context, AttributeSet attrs) { public AppGridView(Context context, AttributeSet attrs) {
this(context, attrs, 0); super(context, attrs);
init(context);
} }
public AppGridView(Context context, AttributeSet attrs, int defStyleAttr) { public AppGridView(Context context, AttributeSet attrs, int defStyleAttr) {
this(context, attrs, defStyleAttr, 0); super(context, attrs, defStyleAttr);
init(context);
} }
public AppGridView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleResId) { public AppGridView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleResId) {
super(context, attrs, defStyleAttr, defStyleResId); super(context, attrs, defStyleAttr, defStyleResId);
setNumColumns(AUTO_FIT); init(context);
final int columnWidth = getResources().getDimensionPixelSize( }
R.dimen.screen_zoom_preview_app_icon_width);
setColumnWidth(columnWidth);
private void init(Context context) {
setAdapter(new AppsAdapter(context, R.layout.screen_zoom_preview_app_icon, setAdapter(new AppsAdapter(context, R.layout.screen_zoom_preview_app_icon,
android.R.id.text1, android.R.id.icon1)); android.R.id.text1, android.R.id.icon1));
} }
@@ -105,6 +108,7 @@ public class AppGridView extends GridView {
} }
private void loadAllApps() { private void loadAllApps() {
final int needAppCount = 6;
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
@@ -117,6 +121,9 @@ public class AppGridView extends GridView {
if (label != null) { if (label != null) {
results.add(new ActivityEntry(info, label.toString(), iconFactory)); results.add(new ActivityEntry(info, label.toString(), iconFactory));
} }
if (results.size() >= needAppCount) {
break;
}
} }
Collections.sort(results); Collections.sort(results);