mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-02 17:06:49 +00:00
Changing the widget loading strategy
Widget is loaded only when the user enters the overview mode and we keep the list updated as long as the user is in the overview mode. Once the user leaves the overview mode, we stop responding to widget updates Bug: 26077457 Change-Id: I9e4904b8f1300bfe0d77e2bc5f59aa6963fad8d1
This commit is contained in:
@@ -21,6 +21,7 @@ import android.app.Activity;
|
||||
import android.appwidget.AppWidgetHost;
|
||||
import android.appwidget.AppWidgetProviderInfo;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Resources;
|
||||
@@ -40,8 +41,10 @@ import android.widget.Toast;
|
||||
import com.android.launcher3.IconCache;
|
||||
import com.android.launcher3.LauncherAppWidgetProviderInfo;
|
||||
import com.android.launcher3.R;
|
||||
import com.android.launcher3.util.ComponentKey;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
|
||||
@@ -145,4 +148,28 @@ class AppWidgetManagerCompatVL extends AppWidgetManagerCompat {
|
||||
c.setBitmap(null);
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LauncherAppWidgetProviderInfo findProvider(ComponentName provider, UserHandleCompat user) {
|
||||
for (AppWidgetProviderInfo info : mAppWidgetManager
|
||||
.getInstalledProvidersForProfile(user.getUser())) {
|
||||
if (info.provider.equals(provider)) {
|
||||
return LauncherAppWidgetProviderInfo.fromProviderInfo(mContext, info);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<ComponentKey, AppWidgetProviderInfo> getAllProvidersMap() {
|
||||
HashMap<ComponentKey, AppWidgetProviderInfo> result = new HashMap<>();
|
||||
for (UserHandle user : mUserManager.getUserProfiles()) {
|
||||
UserHandleCompat userHandle = UserHandleCompat.fromUser(user);
|
||||
for (AppWidgetProviderInfo info :
|
||||
mAppWidgetManager.getInstalledProvidersForProfile(user)) {
|
||||
result.put(new ComponentKey(info.provider, userHandle), info);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user