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

Commit 831ef775 authored by Amit Kumar's avatar Amit Kumar
Browse files

Merge branch 'fodinabor/BlissLauncher-widgetImprovements' related to !5

parents 71bb7fe8 50358b5e
Loading
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ import org.greenrobot.eventbus.ThreadMode;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Comparator;
import java.util.HashSet;
@@ -1316,7 +1317,9 @@ public class LauncherActivity extends AppCompatActivity implements
        }
        // [[END]]

        for (int id : mAppWidgetHost.getAppWidgetIds()) {
        int[] widgetIds = mAppWidgetHost.getAppWidgetIds();
        Arrays.sort(widgetIds);
        for (int id : widgetIds) {
            AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(id);
            if(appWidgetInfo != null){
                RoundedWidgetView hostView = (RoundedWidgetView) mAppWidgetHost.createView(
+15 −4
Original line number Diff line number Diff line
package foundation.e.blisslauncher.features.widgets;

import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;

@@ -19,6 +20,16 @@ public class WidgetManager {
    }

    public void enqueueRemoveId(int id) {
        // If the widget is not yet created but scheduled to be created we have to prevent the
        // creation, too.
        Iterator<RoundedWidgetView> it = addWidgetViews.iterator();
        while (it.hasNext()) {
            RoundedWidgetView view = it.next();
            if (id == view.getAppWidgetId()) {
                addWidgetViews.remove(view);
                break;
            }
        }
        removeWidgetIds.add(id);
    }

+5 −3
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ import foundation.e.blisslauncher.core.customviews.RoundedWidgetView;
import foundation.e.blisslauncher.core.customviews.WidgetHost;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import foundation.e.blisslauncher.BlissLauncher;
@@ -21,7 +22,6 @@ import foundation.e.blisslauncher.R;

public class WidgetsActivity extends Activity implements AddedWidgetsAdapter.OnActionClickListener {

    private RecyclerView addedWidgets;
    private AddedWidgetsAdapter mAddedWidgetsAdapter;

    private AppWidgetManager mAppWidgetManager;
@@ -38,7 +38,7 @@ public class WidgetsActivity extends Activity implements AddedWidgetsAdapter.OnA
        mAppWidgetManager = BlissLauncher.getApplication(this).getAppWidgetManager();
        mAppWidgetHost = BlissLauncher.getApplication(this).getAppWidgetHost();

        addedWidgets = findViewById(R.id.added_widgets_recycler_view);
        RecyclerView addedWidgets = findViewById(R.id.added_widgets_recycler_view);
        addedWidgets.setLayoutManager(new LinearLayoutManager(this));
        addedWidgets.setHasFixedSize(false);
        addedWidgets.setNestedScrollingEnabled(false);
@@ -60,7 +60,9 @@ public class WidgetsActivity extends Activity implements AddedWidgetsAdapter.OnA

    private void refreshRecyclerView() {
        List<Widget> widgets = new ArrayList<>();
        for (int id : mAppWidgetHost.getAppWidgetIds()) {
        int[] widgetIds = mAppWidgetHost.getAppWidgetIds();
        Arrays.sort(widgetIds);
        for (int id : widgetIds) {
            AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(id);
            if (appWidgetInfo != null) {
                Widget widget = new Widget();