Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be5c4ae5 authored by Hyunyoung Song's avatar Hyunyoung Song Committed by Android (Google) Code Review
Browse files

Merge "WidgetTray improvement" into ub-launcher3-burnaby

parents ece6c8b2 4e8fb91c
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@
            android:id="@+id/widget_dims"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginStart="5dp"
            android:layout_marginLeft="5dp"
            android:layout_weight="0"
+1 −1
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ public class Launcher extends Activity
        implements View.OnClickListener, OnLongClickListener, LauncherModel.Callbacks,
                   View.OnTouchListener, PageSwitchListener, LauncherProviderChangeListener,
                   LauncherStateTransitionAnimation.Callbacks {
    static final String TAG = "Launcher - MERONG";
    static final String TAG = "Launcher";
    static final boolean LOGD = true;

    static final boolean PROFILE_STARTUP = false;
+3 −2
Original line number Diff line number Diff line
@@ -39,11 +39,12 @@ public class PackageItemInfo extends ItemInfo {
     */
    public boolean usingLowResIcon;

    public ComponentName componentName;
    public String packageName;

    int flags = 0;

    PackageItemInfo() {
    PackageItemInfo(String packageName) {
        this.packageName = packageName;
    }

    @Override
+11 −2
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ import com.android.launcher3.compat.AppWidgetManagerCompat;
 */
public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {

    private static final String TAG = "PagedViewWidget";
    private static final String TAG = "WidgetCell";
    private static final boolean DEBUG = false;

    // Temporary preset width and height of the image to keep them aligned.
@@ -120,7 +120,16 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener {
            Log.d(TAG, String.format("[tag=%s] onDetachedFromWindow", getTagToString()));
        }
        super.onDetachedFromWindow();
        deletePreview(true);
        deletePreview(false);
    }

    public void reset() {
        ImageView image = (ImageView) findViewById(R.id.widget_preview);
        final TextView name = (TextView) findViewById(R.id.widget_name);
        final TextView dims = (TextView) findViewById(R.id.widget_dims);
        image.setImageDrawable(null);
        name.setText(null);
        dims.setText(null);
    }

    public void deletePreview(boolean recycleImage) {
+9 −21
Original line number Diff line number Diff line
@@ -88,14 +88,13 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {

    @Override
    public void onBindViewHolder(WidgetsRowViewHolder holder, int pos) {
        String packageName = mWidgetsModel.getPackageName(pos);
        List<Object> infoList = mWidgetsModel.getSortedWidgets(packageName);
        List<Object> infoList = mWidgetsModel.getSortedWidgets(pos);

        ViewGroup row = ((ViewGroup) holder.getContent().findViewById(R.id.widgets_cell_list));
        if (DEBUG) {
            Log.d(TAG, String.format(
                    "onBindViewHolder [pos=%d, packageName=%s, widget#=%d, row.getChildCount=%d]",
                    pos, packageName, infoList.size(), row.getChildCount()));
                    "onBindViewHolder [pos=%d, widget#=%d, row.getChildCount=%d]",
                    pos, infoList.size(), row.getChildCount()));
        }

        // Add more views.
@@ -120,11 +119,11 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
        }

        // Bind the views in the application info section.
        PackageItemInfo infoOut = mWidgetsModel.getPackageItemInfo(packageName);
        PackageItemInfo infoOut = mWidgetsModel.getPackageItemInfo(pos);
        if (infoOut.usingLowResIcon) {
            mIconCache.getTitleAndIconForApp(packageName, UserHandleCompat.myUserHandle(),
                false /* useLowResIcon */, infoOut);
            mWidgetsModel.setPackageItemInfo(packageName, infoOut);
            // TODO(hyunyoungs): call this in none UI thread in the same way as BubbleTextView.
            mIconCache.getTitleAndIconForApp(infoOut.packageName,
                    UserHandleCompat.myUserHandle(), false /* useLowResIcon */, infoOut);
        }
        ((TextView) holder.getContent().findViewById(R.id.section)).setText(infoOut.title);
        ImageView iv = (ImageView) holder.getContent().findViewById(R.id.section_image);
@@ -133,7 +132,8 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
        // Bind the view in the widget horizontal tray region.
        for (int i=0; i < infoList.size(); i++) {
            WidgetCell widget = (WidgetCell) row.getChildAt(i);
            if (getWidgetPreviewLoader() == null || widget == null) {
            widget.reset();
            if (getWidgetPreviewLoader() == null) {
                return;
            }
            if (infoList.get(i) instanceof LauncherAppWidgetProviderInfo) {
@@ -150,7 +150,6 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
            widget.setVisibility(View.VISIBLE);
            widget.ensurePreview();
        }
        // TODO(hyunyoungs): Draw the scrollable indicator.
    }

    @Override
@@ -175,15 +174,4 @@ public class WidgetsListAdapter extends Adapter<WidgetsRowViewHolder> {
        }
        return mWidgetPreviewLoader;
    }

    /**
     * TODO(hyunyoungs): this is temporary. Figure out the width of each widget cell
     * and then check if the total sum is longer than the parent width.
     */
    private void addScrollableIndicator(int contentSize, ViewGroup parent) {
        if (contentSize > 2) {
            ViewGroup indicator = (ViewGroup) parent.findViewById(R.id.scrollable_indicator);
            indicator.setVisibility(View.VISIBLE);
        }
    }
}
Loading