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 Original line Diff line number Diff line
@@ -71,6 +71,7 @@ import org.greenrobot.eventbus.ThreadMode;


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


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


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


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


    public void enqueueRemoveId(int id) {
    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);
        removeWidgetIds.add(id);
    }
    }


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


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


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


public class WidgetsActivity extends Activity implements AddedWidgetsAdapter.OnActionClickListener {
public class WidgetsActivity extends Activity implements AddedWidgetsAdapter.OnActionClickListener {


    private RecyclerView addedWidgets;
    private AddedWidgetsAdapter mAddedWidgetsAdapter;
    private AddedWidgetsAdapter mAddedWidgetsAdapter;


    private AppWidgetManager mAppWidgetManager;
    private AppWidgetManager mAppWidgetManager;
@@ -38,7 +38,7 @@ public class WidgetsActivity extends Activity implements AddedWidgetsAdapter.OnA
        mAppWidgetManager = BlissLauncher.getApplication(this).getAppWidgetManager();
        mAppWidgetManager = BlissLauncher.getApplication(this).getAppWidgetManager();
        mAppWidgetHost = BlissLauncher.getApplication(this).getAppWidgetHost();
        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.setLayoutManager(new LinearLayoutManager(this));
        addedWidgets.setHasFixedSize(false);
        addedWidgets.setHasFixedSize(false);
        addedWidgets.setNestedScrollingEnabled(false);
        addedWidgets.setNestedScrollingEnabled(false);
@@ -60,7 +60,9 @@ public class WidgetsActivity extends Activity implements AddedWidgetsAdapter.OnA


    private void refreshRecyclerView() {
    private void refreshRecyclerView() {
        List<Widget> widgets = new ArrayList<>();
        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);
            AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(id);
            if (appWidgetInfo != null) {
            if (appWidgetInfo != null) {
                Widget widget = new Widget();
                Widget widget = new Widget();