android 小部件 电量控制 详解,如何在小部件列表中隐藏某个widget或者shortcut

小部件列表包括两种类型:widget和shortcut。如何在小部件列表中隐藏某个widget或者shortcut?例如隐藏设置的电量控制小部件(Power Control)?

0818b9ca8b590ca3270a3433284dd417.png

路径 packages\apps\Launcher3\src\com\android\launcher3\AppsCustomizePagedView.java

public void onPackagesUpdated(ArrayList widgetsAndShortcuts) {

LauncherAppState app = LauncherAppState.getInstance();

DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();

// Get the list of widgets and shortcuts

mWidgets.clear();

if (LauncherLog.DEBUG) {

LauncherLog.d(TAG, "updatePackages: widgetsAndShortcuts size = " + widgetsAndShortcuts.size());

}

for (Object o : widgetsAndShortcuts) {

if (o instanceof AppWidgetProviderInfo) {

AppWidgetProviderInfo widget = (AppWidgetProviderInfo) o;

if (!app.shouldShowAppOrWidgetProvider(widget.provider)) {

continue;

}

widget.label = widget.label.trim();

if (widget.minWidth > 0 && widget.minHeight > 0) {

// Ensure that all widgets we show can be added on a workspace of this size

int[] spanXY = Launcher.getSpanForWidget(mLauncher, widget);

int[] minSpanXY = Launcher.getMinSpanForWidget(mLauncher, widget);

int minSpanX = Math.min(spanXY[0], minSpanXY[0]);

int minSpanY = Math.min(spanXY[1], minSpanXY[1]);

if (minSpanX <= (int) grid.numColumns &&

minSpanY <= (int) grid.numRows) {

//hide widgets xxx20151230

if(!widget.provider.getPackageName().equals("com.mediatek.videofavorites")){//add xxx

mWidgets.add(widget);

}//add xxx

} else {

Log.e(TAG, "Widget " + widget.provider + " can not fit on this device (" +

widget.minWidth + ", " + widget.minHeight + "), min span is (" + minSpanX + ", " + minSpanY + ")"

+ "), span is (" + spanXY[0] + ", " + spanXY[1] + ")");

}

} else {

LauncherLog.e(TAG, "Widget " + widget.provider + " has invalid dimensions (" +

widget.minWidth + ", " + widget.minHeight);

}

} else {

//Hide shortcut modify here

ResolveInfo info=(ResolveInfo)o;//add xxx

if(!info.activityInfo.packageName.equals("com.example.appwidget")){//xxx add

// just add shortcuts

mWidgets.add(o);

}//xxx add

}

}

updatePageCountsAndInvalidateData();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值