当前位置: 首页>>代码示例>>Java>>正文


Java PendingAddWidgetInfo类代码示例

本文整理汇总了Java中com.android.launcher3.widget.PendingAddWidgetInfo的典型用法代码示例。如果您正苦于以下问题:Java PendingAddWidgetInfo类的具体用法?Java PendingAddWidgetInfo怎么用?Java PendingAddWidgetInfo使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


PendingAddWidgetInfo类属于com.android.launcher3.widget包,在下文中一共展示了PendingAddWidgetInfo类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: addPendingItem

import com.android.launcher3.widget.PendingAddWidgetInfo; //导入依赖的package包/类
public void addPendingItem(PendingAddItemInfo info, long container, long screenId,
        int[] cell, int spanX, int spanY) {
    info.container = container;
    info.screenId = screenId;
    if (cell != null) {
        info.cellX = cell[0];
        info.cellY = cell[1];
    }
    info.spanX = spanX;
    info.spanY = spanY;

    switch (info.itemType) {
        case LauncherSettings.Favorites.ITEM_TYPE_CUSTOM_APPWIDGET:
        case LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET:
            addAppWidgetFromDrop((PendingAddWidgetInfo) info);
            break;
        case LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT:
            processShortcutFromDrop(info);
            break;
        default:
            throw new IllegalStateException("Unknown item type: " + info.itemType);
        }
}
 
开发者ID:michelelacorte,项目名称:FlickLauncher,代码行数:24,代码来源:Launcher.java

示例2: addPendingItem

import com.android.launcher3.widget.PendingAddWidgetInfo; //导入依赖的package包/类
public void addPendingItem(PendingAddItemInfo info, long container, long screenId,
        int[] cell, int spanX, int spanY) {
    switch (info.itemType) {
        case LauncherSettings.Favorites.ITEM_TYPE_CUSTOM_APPWIDGET:
        case LauncherSettings.Favorites.ITEM_TYPE_APPWIDGET:
            int span[] = new int[2];
            span[0] = spanX;
            span[1] = spanY;
            addAppWidgetFromDrop((PendingAddWidgetInfo) info,
                    container, screenId, cell, span);
            break;
        case LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT:
            processShortcutFromDrop(info.componentName, container, screenId, cell);
            break;
        default:
            throw new IllegalStateException("Unknown item type: " + info.itemType);
        }
}
 
开发者ID:talentlo,项目名称:Trebuchet,代码行数:19,代码来源:Launcher.java

示例3: addAppWidgetFromDrop

import com.android.launcher3.widget.PendingAddWidgetInfo; //导入依赖的package包/类
/**
 * Process a widget drop.
 */
private void addAppWidgetFromDrop(PendingAddWidgetInfo info) {
    AppWidgetHostView hostView = info.boundWidget;
    int appWidgetId;
    if (hostView != null) {
        // In the case where we've prebound the widget, we remove it from the DragLayer
        if (LOGD) {
            Log.d(TAG, "Removing widget view from drag layer and setting boundWidget to null");
        }
        getDragLayer().removeView(hostView);

        appWidgetId = hostView.getAppWidgetId();
        addAppWidgetFromDropImpl(appWidgetId, info, hostView, info.info);

        // Clear the boundWidget so that it doesn't get destroyed.
        info.boundWidget = null;
    } else {
        // In this case, we either need to start an activity to get permission to bind
        // the widget, or we need to start an activity to configure the widget, or both.
        appWidgetId = getAppWidgetHost().allocateAppWidgetId();
        Bundle options = info.bindOptions;

        boolean success = mAppWidgetManager.bindAppWidgetIdIfAllowed(
                appWidgetId, info.info, options);
        if (success) {
            addAppWidgetFromDropImpl(appWidgetId, info, null, info.info);
        } else {
            setWaitingForResult(PendingRequestArgs.forWidgetInfo(appWidgetId, info.info, info));
            Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_BIND);
            intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
            intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_PROVIDER, info.componentName);
            mAppWidgetManager.getUser(info.info)
                .addToIntent(intent, AppWidgetManager.EXTRA_APPWIDGET_PROVIDER_PROFILE);
            // TODO: we need to make sure that this accounts for the options bundle.
            // intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_OPTIONS, options);
            startActivityForResult(intent, REQUEST_BIND_APPWIDGET);
        }
    }
}
 
开发者ID:michelelacorte,项目名称:FlickLauncher,代码行数:42,代码来源:Launcher.java

示例4: createWidgetInfo

import com.android.launcher3.widget.PendingAddWidgetInfo; //导入依赖的package包/类
/**
 * Creates a LauncherAppWidgetInfo corresponding to {@param info}
 * @param bindWidget if true the info is bound and a valid widgetId is assigned to
 *                   the LauncherAppWidgetInfo
 */
private LauncherAppWidgetInfo createWidgetInfo(
        LauncherAppWidgetProviderInfo info, boolean bindWidget) {
    LauncherAppWidgetInfo item = new LauncherAppWidgetInfo(
            LauncherAppWidgetInfo.NO_ID, info.provider);
    item.spanX = info.minSpanX;
    item.spanY = info.minSpanY;
    item.minSpanX = info.minSpanX;
    item.minSpanY = info.minSpanY;
    item.user = mWidgetManager.getUser(info);
    item.cellX = 0;
    item.cellY = 1;
    item.container = LauncherSettings.Favorites.CONTAINER_DESKTOP;

    if (bindWidget) {
        PendingAddWidgetInfo pendingInfo = new PendingAddWidgetInfo(mTargetContext, info);
        pendingInfo.spanX = item.spanX;
        pendingInfo.spanY = item.spanY;
        pendingInfo.minSpanX = item.minSpanX;
        pendingInfo.minSpanY = item.minSpanY;
        Bundle options = WidgetHostViewLoader.getDefaultOptionsForWidget(mTargetContext, pendingInfo);

        AppWidgetHost host = new AppWidgetHost(mTargetContext, Launcher.APPWIDGET_HOST_ID);
        int widgetId = host.allocateAppWidgetId();
        if (!mWidgetManager.bindAppWidgetIdIfAllowed(widgetId, info, options)) {
            host.deleteAppWidgetId(widgetId);
            throw new IllegalArgumentException("Unable to bind widget id");
        }
        item.appWidgetId = widgetId;
    }
    return item;
}
 
开发者ID:michelelacorte,项目名称:FlickLauncher,代码行数:37,代码来源:BindWidgetTest.java

示例5: isDragWidget

import com.android.launcher3.widget.PendingAddWidgetInfo; //导入依赖的package包/类
private boolean isDragWidget(DragObject d) {
    return (d.dragInfo instanceof LauncherAppWidgetInfo ||
            d.dragInfo instanceof PendingAddWidgetInfo);
}
 
开发者ID:michelelacorte,项目名称:FlickLauncher,代码行数:5,代码来源:Workspace.java

示例6: addAppWidgetFromDrop

import com.android.launcher3.widget.PendingAddWidgetInfo; //导入依赖的package包/类
/**
 * Process a widget drop.
 *
 * @param info The PendingAppWidgetInfo of the widget being added.
 * @param screenId The ID of the screen where it should be added
 * @param cell The cell it should be added to, optional
 */
private void addAppWidgetFromDrop(PendingAddWidgetInfo info, long container, long screenId,
        int[] cell, int[] span) {
    resetAddInfo();
    mPendingAddInfo.container = info.container = container;
    mPendingAddInfo.screenId = info.screenId = screenId;
    mPendingAddInfo.dropPos = null;
    mPendingAddInfo.minSpanX = info.minSpanX;
    mPendingAddInfo.minSpanY = info.minSpanY;

    if (cell != null) {
        mPendingAddInfo.cellX = cell[0];
        mPendingAddInfo.cellY = cell[1];
    }
    if (span != null) {
        mPendingAddInfo.spanX = span[0];
        mPendingAddInfo.spanY = span[1];
    }

    AppWidgetHostView hostView = info.boundWidget;
    int appWidgetId;
    if (hostView != null) {
        appWidgetId = hostView.getAppWidgetId();
        addAppWidgetImpl(appWidgetId, info, hostView, info.info);

        // Clear the boundWidget so that it doesn't get destroyed.
        info.boundWidget = null;
    } else {
        // In this case, we either need to start an activity to get permission to bind
        // the widget, or we need to start an activity to configure the widget, or both.
        appWidgetId = getAppWidgetHost().allocateAppWidgetId();
        Bundle options = info.bindOptions;

        boolean success = mAppWidgetManager.bindAppWidgetIdIfAllowed(
                appWidgetId, info.info, options);
        if (success) {
            addAppWidgetImpl(appWidgetId, info, null, info.info);
        } else {
            mPendingAddWidgetInfo = info.info;
            Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_BIND);
            intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
            intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_PROVIDER, info.componentName);
            mAppWidgetManager.getUser(mPendingAddWidgetInfo)
                .addToIntent(intent, AppWidgetManager.EXTRA_APPWIDGET_PROVIDER_PROFILE);
            // TODO: we need to make sure that this accounts for the options bundle.
            // intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_OPTIONS, options);
            startActivityForResult(intent, REQUEST_BIND_APPWIDGET);
        }
    }
}
 
开发者ID:talentlo,项目名称:Trebuchet,代码行数:57,代码来源:Launcher.java


注:本文中的com.android.launcher3.widget.PendingAddWidgetInfo类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。