summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/widget/WidgetsListAdapter.java
diff options
context:
space:
mode:
authorHyunyoung Song <hyunyoungs@google.com>2015-05-12 15:36:20 -0700
committerHyunyoung Song <hyunyoungs@google.com>2015-05-12 15:40:09 -0700
commit5cd1d92f6c40b47eff12859d4e13b6431aa778c0 (patch)
tree044fd811140620ef5c03b0b764f99d19c5ef4172 /src/com/android/launcher3/widget/WidgetsListAdapter.java
parentfc9d3d8bcb70216de7709d3edaf9759ac8156b45 (diff)
downloadandroid_packages_apps_Trebuchet-5cd1d92f6c40b47eff12859d4e13b6431aa778c0.tar.gz
android_packages_apps_Trebuchet-5cd1d92f6c40b47eff12859d4e13b6431aa778c0.tar.bz2
android_packages_apps_Trebuchet-5cd1d92f6c40b47eff12859d4e13b6431aa778c0.zip
Fixing several layout issues.
- N7/N9 indented area should not block scroll view - separator at the end of the widget cell should not show up on the last item. Not covered in this CL: - Guarantee that last item is showing only 20~40%. Right now, the hand picked constant works for N5,6,7,9 b/20338324 b/20763871 Change-Id: I274ab95c6c3e2fc8be8ceafb2e8172c0174a41a5
Diffstat (limited to 'src/com/android/launcher3/widget/WidgetsListAdapter.java')
-rw-r--r--src/com/android/launcher3/widget/WidgetsListAdapter.java39
1 files changed, 29 insertions, 10 deletions
diff --git a/src/com/android/launcher3/widget/WidgetsListAdapter.java b/src/com/android/launcher3/widget/WidgetsListAdapter.java
index d114883ad..d45ff1d46 100644
--- a/src/com/android/launcher3/widget/WidgetsListAdapter.java
+++ b/src/com/android/launcher3/widget/WidgetsListAdapter.java
@@ -18,14 +18,19 @@ package com.android.launcher3.widget;
import android.content.Context;
import android.content.pm.ResolveInfo;
import android.support.v7.widget.RecyclerView;
+import android.content.res.Resources;
import android.support.v7.widget.RecyclerView.Adapter;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import com.android.launcher3.BubbleTextView;
+
+import com.android.launcher3.DeviceProfile;
+import com.android.launcher3.DynamicGrid;
import com.android.launcher3.IconCache;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherAppState;
@@ -46,7 +51,7 @@ import java.util.List;
public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
private static final String TAG = "WidgetsListAdapter";
- private static final boolean DEBUG = false;
+ private static final boolean DEBUG = true;
private Context mContext;
private Launcher mLauncher;
@@ -59,6 +64,9 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
private View.OnClickListener mIconClickListener;
private View.OnLongClickListener mIconLongClickListener;
+ private static final int PRESET_INDENT_SIZE_TABLET = 56;
+ private int mIndent = 0;
+
public WidgetsListAdapter(Context context,
View.OnClickListener iconClickListener,
View.OnLongClickListener iconLongClickListener,
@@ -71,6 +79,8 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
mLauncher = launcher;
mIconCache = LauncherAppState.getInstance().getIconCache();
+
+ setContainerHeight();
}
public void setWidgetsModel(WidgetsModel w) {
@@ -96,6 +106,7 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
// Add more views.
// if there are too many, hide them.
int diff = infoList.size() - row.getChildCount();
+
if (diff > 0) {
for (int i = 0; i < diff; i++) {
WidgetCell widget = new WidgetCell(mContext);
@@ -105,10 +116,11 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
// set up touch.
widget.setOnClickListener(mIconClickListener);
widget.setOnLongClickListener(mIconLongClickListener);
- // Add a devider if it is not the last item.
- if (i == diff - 1) {
- widget.setSeparator(false);
- }
+ LayoutParams lp = widget.getLayoutParams();
+ lp.height = widget.cellSize;
+ lp.width = widget.cellSize;
+ widget.setLayoutParams(lp);
+
row.addView(widget);
}
} else if (diff < 0) {
@@ -152,11 +164,10 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
ViewGroup container = (ViewGroup) mLayoutInflater.inflate(
R.layout.widgets_list_row_view, parent, false);
- WidgetRowView row = (WidgetRowView) container.findViewById(R.id.widget_row);
- LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) row.getLayoutParams();
- lp.setMarginStart(WidgetRowView.sIndent);
- lp.height = WidgetRowView.sHeight;
- row.setLayoutParams(lp);
+ View cellList = container.findViewById(R.id.widgets_cell_list);
+ LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) cellList.getLayoutParams();
+ lp.setMarginStart(mIndent);
+
return new WidgetsRowViewHolder(container);
}
@@ -181,4 +192,12 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
}
return mWidgetPreviewLoader;
}
+
+ private void setContainerHeight() {
+ Resources r = mContext.getResources();
+ DeviceProfile profile = LauncherAppState.getInstance().getDynamicGrid().getDeviceProfile();
+ if (profile.isLargeTablet || profile.isTablet) {
+ mIndent = DynamicGrid.pxFromDp(PRESET_INDENT_SIZE_TABLET, r.getDisplayMetrics());
+ }
+ }
}