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

Commit f2678d13 authored by Daniel Bailey's avatar Daniel Bailey Committed by Niedermann IT-Dienstleistungen
Browse files

Dark themes for single note and note list widgets.

parent 7766f650
Loading
Loading
Loading
Loading
+13 −22
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ import it.niedermann.owncloud.notes.android.appwidget.SingleNoteWidget;
import it.niedermann.owncloud.notes.model.DBNote;
import it.niedermann.owncloud.notes.model.Item;
import it.niedermann.owncloud.notes.model.ItemAdapter;
import it.niedermann.owncloud.notes.util.Notes;

public class SelectSingleNoteActivity extends NotesListViewActivity {

@@ -26,11 +27,10 @@ public class SelectSingleNoteActivity extends NotesListViewActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setResult(Activity.RESULT_CANCELED);

        SwipeRefreshLayout swipeRefreshLayout = getSwipeRefreshLayout();

        setResult(Activity.RESULT_CANCELED);

        ButterKnife.bind(this);
        fabCreate.setVisibility(View.GONE);

@@ -53,33 +53,24 @@ public class SelectSingleNoteActivity extends NotesListViewActivity {
        Item item = adapter.getItem(position);
        DBNote note = (DBNote) item;
        long noteID = note.getId();
        Intent intent = getIntent();
        Bundle extras = intent.getExtras();
        int mAppWidgetId = -1;
        final Bundle extras = getIntent().getExtras();

        if (extras != null) {
            mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
        if (extras == null) {
            finish();
        }

        int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
        SharedPreferences.Editor sp = PreferenceManager.getDefaultSharedPreferences(this).edit();

        sp.putLong(SingleNoteWidget.WIDGET_KEY + mAppWidgetId, noteID);
        sp.putLong(SingleNoteWidget.WIDGET_KEY + appWidgetId, noteID);
        sp.putBoolean(SingleNoteWidget.DARK_THEME_KEY + appWidgetId, Notes.getAppTheme(getApplicationContext()));
        sp.apply();

        Intent retIntent = new Intent(this, SingleNoteWidget.class);
        retIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
        retIntent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
        sendBroadcast(retIntent);
        setResult(RESULT_OK, retIntent);
        Intent updateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE, null,
                                        getApplicationContext(), SingleNoteWidget.class);
        updateIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {appWidgetId});
        getApplicationContext().sendBroadcast(updateIntent);
        setResult(RESULT_OK, updateIntent);
        finish();
    }

    @Override
    public boolean onNoteLongClick(int position, View v) {
        return false;
    }

    @Override
    public void onNoteFavoriteClick(int position, View view) {
    }
}
+55 −33
Original line number Diff line number Diff line
@@ -15,89 +15,111 @@ import it.niedermann.owncloud.notes.R;
import it.niedermann.owncloud.notes.android.activity.EditNoteActivity;
import it.niedermann.owncloud.notes.android.activity.NotesListViewActivity;

import static android.appwidget.AppWidgetManager.ACTION_APPWIDGET_UPDATE;

public class NoteListWidget extends AppWidgetProvider {
    public static final String WIDGET_MODE_KEY = "NLW_mode";
    public static final String WIDGET_CATEGORY_KEY = "NLW_cat";
    public static final String DARK_THEME_KEY = "NLW_darkTheme";
    public static final int NLW_DISPLAY_ALL = 0;
    public static final int NLW_DISPLAY_STARRED = 1;
    public static final int NLW_DISPLAY_CATEGORY = 2;
    private static boolean darkTheme;

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        super.onUpdate(context, appWidgetManager, appWidgetIds);
        RemoteViews views;

        for (int appWidgetId : appWidgetIds) {
            SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
            int displayMode = sp.getInt(NoteListWidget.WIDGET_MODE_KEY + appWidgetId, -1);

            // onUpdate has been triggered before the user finished configuring the widget
            if (displayMode == -1) {
                return;
            }

            String category = sp.getString(NoteListWidget.WIDGET_CATEGORY_KEY + appWidgetId, null);
            Intent serviceIntent = new Intent(context, NoteListWidgetService.class);
            RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list);
            darkTheme = sp.getBoolean(NoteListWidget.DARK_THEME_KEY + appWidgetId, false);

            Intent serviceIntent = new Intent(context, NoteListWidgetService.class);
            serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
            serviceIntent.putExtra(NoteListWidget.WIDGET_MODE_KEY + appWidgetId, displayMode);
            serviceIntent.putExtra(NoteListWidget.DARK_THEME_KEY + appWidgetId, darkTheme);
            serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME)));

            if (displayMode == NLW_DISPLAY_CATEGORY) {
                serviceIntent.putExtra(NoteListWidget.WIDGET_CATEGORY_KEY + appWidgetId, category);
            }

            // Launch application when user taps the header icon or app title
            Intent intent = new Intent("android.intent.action.MAIN");
            intent.setComponent(new ComponentName(context.getPackageName(),
                                                  NotesListViewActivity.class.getName()));

            PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
                                                                    intent,
            // Open the main app if the user taps the widget header
            PendingIntent openAppI = PendingIntent.getActivity( context, 0, intent,
                                                                PendingIntent.FLAG_UPDATE_CURRENT);

            views.setOnClickPendingIntent(R.id.widget_note_header_icon, pendingIntent);
            views.setOnClickPendingIntent(R.id.widget_note_list_title_tv, pendingIntent);

            // Launch create note activity if user taps "+" sign in header
            intent = new Intent(context, EditNoteActivity.class);
            pendingIntent = PendingIntent.getActivity(context,0,
                                                        intent,
            // Launch create note activity if user taps "+" icon on header
            PendingIntent newNoteI = PendingIntent.getActivity( context,0,
                                                                (new Intent(context, EditNoteActivity.class)),
                                                                PendingIntent.FLAG_UPDATE_CURRENT);

            views.setOnClickPendingIntent(R.id.widget_note_list_create_icon, pendingIntent);

            Intent templateIntent = new Intent(context, EditNoteActivity.class);
            PendingIntent templatePI = PendingIntent.getActivity(context,
                                                                0, templateIntent,
            PendingIntent templatePI = PendingIntent.getActivity(context,0,
                                                                (new Intent(context, EditNoteActivity.class)),
                                                                PendingIntent.FLAG_UPDATE_CURRENT);

            if (displayMode == NLW_DISPLAY_CATEGORY) {
                serviceIntent.putExtra(NoteListWidget.WIDGET_CATEGORY_KEY + appWidgetId, category);
            }
            serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME)));
            if (darkTheme) {
                views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list_dark);
                views.setOnClickPendingIntent(R.id.widget_note_header_icon_dark, openAppI);
                views.setOnClickPendingIntent(R.id.widget_note_list_title_tv_dark, openAppI);
                views.setOnClickPendingIntent(R.id.widget_note_list_create_icon_dark, newNoteI);
                views.setPendingIntentTemplate(R.id.note_list_widget_lv_dark, templatePI);
                views.setRemoteAdapter(appWidgetId, R.id.note_list_widget_lv_dark, serviceIntent);
                views.setEmptyView(R.id.note_list_widget_lv_dark, R.id.widget_note_list_placeholder_tv_dark);
            } else {
                views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list);
                views.setOnClickPendingIntent(R.id.widget_note_header_icon, openAppI);
                views.setOnClickPendingIntent(R.id.widget_note_list_title_tv, openAppI);
                views.setOnClickPendingIntent(R.id.widget_note_list_create_icon, newNoteI);
                views.setPendingIntentTemplate(R.id.note_list_widget_lv, templatePI);
                views.setRemoteAdapter(appWidgetId, R.id.note_list_widget_lv, serviceIntent);
                views.setEmptyView(R.id.note_list_widget_lv, R.id.widget_note_list_placeholder_tv);
            }

            appWidgetManager.updateAppWidget(appWidgetId, views);
        }

        super.onUpdate(context, appWidgetManager, appWidgetIds);
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        super.onReceive(context, intent);

        AppWidgetManager awm = AppWidgetManager.getInstance(context);
        int appWidgetIds[] = awm.getAppWidgetIds(new ComponentName(context, NoteListWidget.class));

        for (int appWidgetId : appWidgetIds) {
            if (ACTION_APPWIDGET_UPDATE.equals(intent.getAction())) {
            if (intent.getAction().equals(awm.ACTION_APPWIDGET_UPDATE)) {
                if (darkTheme) {
                    awm.notifyAppWidgetViewDataChanged(appWidgetId, R.id.note_list_widget_lv_dark);
                } else {
                    awm.notifyAppWidgetViewDataChanged(appWidgetId, R.id.note_list_widget_lv);
                }
            }
        }

        super.onReceive(context, intent);
    }

    @Override
    public void onDeleted(Context context, int[] appWidgetIds) {
        super.onDeleted(context, appWidgetIds);

        SharedPreferences.Editor editor = PreferenceManager
                                            .getDefaultSharedPreferences(context).edit();
        SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();

        for (int appWidgetId : appWidgetIds) {
            editor.remove(WIDGET_MODE_KEY + appWidgetId);
            editor.remove(WIDGET_CATEGORY_KEY + appWidgetId);
            editor.remove(DARK_THEME_KEY + appWidgetId);
        }

        editor.apply();
+13 −17
Original line number Diff line number Diff line
@@ -23,11 +23,12 @@ import it.niedermann.owncloud.notes.android.activity.NotesListViewActivity;
import it.niedermann.owncloud.notes.model.NavigationAdapter;
import it.niedermann.owncloud.notes.persistence.NoteSQLiteOpenHelper;
import it.niedermann.owncloud.notes.persistence.NoteServerSyncHelper;
import it.niedermann.owncloud.notes.util.Notes;

public class NoteListWidgetConfiguration extends AppCompatActivity {
    private static final String TAG = Activity.class.getSimpleName();

    private int mAppWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;
    private int appWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;

    private NavigationAdapter adapterCategories;
    private NavigationAdapter.NavigationItem itemRecent, itemFavorites;
@@ -45,18 +46,17 @@ public class NoteListWidgetConfiguration extends AppCompatActivity {
            // TODO Present user with app login screen
            Log.w(TAG, "onCreate: user not logged in");
            finish();

        }

        db = NoteSQLiteOpenHelper.getInstance(this);
        final Bundle extras = getIntent().getExtras();

        if (extras != null) {
            mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
            appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
                                            AppWidgetManager.INVALID_APPWIDGET_ID);
        }

        if (mAppWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {
        if (appWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) {
            finish();
        }

@@ -77,29 +77,25 @@ public class NoteListWidgetConfiguration extends AppCompatActivity {
                SharedPreferences.Editor sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit();

                if (item == itemRecent) {
                    sp.putInt(NoteListWidget.WIDGET_MODE_KEY +
                                    mAppWidgetId, NoteListWidget.NLW_DISPLAY_ALL);
                    sp.putInt(NoteListWidget.WIDGET_MODE_KEY + appWidgetId, NoteListWidget.NLW_DISPLAY_ALL);
                } else if (item == itemFavorites) {
                    sp.putInt(NoteListWidget.WIDGET_MODE_KEY +
                                    mAppWidgetId, NoteListWidget.NLW_DISPLAY_STARRED);
                    sp.putInt(NoteListWidget.WIDGET_MODE_KEY + appWidgetId, NoteListWidget.NLW_DISPLAY_STARRED);
                } else {
                    String category = "";
                    if (!item.label.equals(getString(R.string.action_uncategorized))) {
                        category = item.label;
                    }
                    sp.putInt(NoteListWidget.WIDGET_MODE_KEY +
                                    mAppWidgetId, NoteListWidget.NLW_DISPLAY_CATEGORY);
                    sp.putString(NoteListWidget.WIDGET_CATEGORY_KEY +
                                    mAppWidgetId, category);
                    sp.putInt(NoteListWidget.WIDGET_MODE_KEY + appWidgetId, NoteListWidget.NLW_DISPLAY_CATEGORY);
                    sp.putString(NoteListWidget.WIDGET_CATEGORY_KEY + appWidgetId, category);
                }

                sp.putBoolean(NoteListWidget.DARK_THEME_KEY + appWidgetId, Notes.getAppTheme(getApplicationContext()));
                sp.apply();

                Intent updateIntent = new Intent(getApplicationContext(), NoteListWidget.class);

                updateIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
                updateIntent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
                sendBroadcast(updateIntent);
                Intent updateIntent = new Intent(   AppWidgetManager.ACTION_APPWIDGET_UPDATE, null,
                                                    getApplicationContext(), NoteListWidget.class);
                updateIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {appWidgetId});
                getApplicationContext().sendBroadcast(updateIntent);
                setResult(RESULT_OK, updateIntent);
                finish();
            }
+54 −12
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact
    private final Context context;
    private final int displayMode;
    private final int appWidgetId;
    private final boolean darkTheme;
    private String category;
    private final SharedPreferences sp;
    private NoteSQLiteOpenHelper db;
@@ -33,28 +34,53 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact
                                            AppWidgetManager.INVALID_APPWIDGET_ID);
        sp = PreferenceManager.getDefaultSharedPreferences(this.context);
        displayMode = sp.getInt(NoteListWidget.WIDGET_MODE_KEY + appWidgetId, -1);
        darkTheme = sp.getBoolean(NoteListWidget.DARK_THEME_KEY + appWidgetId, false);
    }

    @Override
    public void onCreate() {
        db = NoteSQLiteOpenHelper.getInstance(context);
        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list);
        RemoteViews views;
        if (darkTheme) {
            views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list_dark);
        } else {
            views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list);
        }

        switch (displayMode)
        {
            case NoteListWidget.NLW_DISPLAY_ALL:
                if (darkTheme) {
                    views.setTextViewText(R.id.widget_note_list_title_tv_dark, context.getString(R.string.app_name));
                } else {
                    views.setTextViewText(R.id.widget_note_list_title_tv, context.getString(R.string.app_name));
                }
                break;

            case NoteListWidget.NLW_DISPLAY_STARRED:
                views.setTextViewText(R.id.widget_note_list_title_tv, "Starred");
                if (darkTheme) {
                    views.setTextViewText(R.id.widget_note_list_title_tv_dark, context.getString(R.string.label_favorites));
                } else {
                    views.setTextViewText(R.id.widget_note_list_title_tv, context.getString(R.string.label_favorites));
                }
                break;

            case NoteListWidget.NLW_DISPLAY_CATEGORY:
                category = sp.getString(NoteListWidget.WIDGET_CATEGORY_KEY + appWidgetId, null);
                category = sp.getString(NoteListWidget.WIDGET_CATEGORY_KEY + appWidgetId, "");
                if (category.equals("")) {
                    if (darkTheme) {
                        views.setTextViewText(R.id.widget_note_list_title_tv_dark, context.getString(R.string.action_uncategorized));
                    } else {
                        views.setTextViewText(R.id.widget_note_list_title_tv, context.getString(R.string.action_uncategorized));
                    }

                } else {
                    if (darkTheme) {
                        views.setTextViewText(R.id.widget_note_list_title_tv_dark, category);
                    } else {
                        views.setTextViewText(R.id.widget_note_list_title_tv, category);
                    }
                }
                break;
        }

@@ -94,12 +120,12 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact

    @Override
    public RemoteViews getViewAt(int i) {
        RemoteViews note_content;

        if (dbNotes == null || dbNotes.get(i) == null) {
            return null;
        }

        RemoteViews note_content = new RemoteViews(context.getPackageName(),
                                                    R.layout.widget_entry);
        DBNote note = dbNotes.get(i);
        final Intent fillInIntent = new Intent();
        final Bundle extras = new Bundle();
@@ -107,14 +133,30 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact
        extras.putLong(EditNoteActivity.PARAM_NOTE_ID, note.getId());
        fillInIntent.putExtras(extras);
        fillInIntent.setData(Uri.parse(fillInIntent.toUri(Intent.URI_INTENT_SCHEME)));

        if (darkTheme) {
            note_content = new RemoteViews(context.getPackageName(), R.layout.widget_entry_dark);
            note_content.setOnClickFillInIntent(R.id.widget_note_list_entry_dark, fillInIntent);
            note_content.setTextViewText(R.id.widget_entry_content_tv_dark, note.getTitle());
        } else {
            note_content = new RemoteViews( context.getPackageName(), R.layout.widget_entry);
            note_content.setOnClickFillInIntent(R.id.widget_note_list_entry, fillInIntent);
            note_content.setTextViewText(R.id.widget_entry_content_tv, note.getTitle());
        }

        if (note.isFavorite()) {
            if (darkTheme) {
                note_content.setViewVisibility(R.id.widget_entry_fav_icon_dark, View.VISIBLE);
            } else {
                note_content.setViewVisibility(R.id.widget_entry_fav_icon, View.VISIBLE);
            }
        } else {
            if (darkTheme) {
                note_content.setViewVisibility(R.id.widget_entry_fav_icon_dark, View.INVISIBLE);
            } else {
                note_content.setViewVisibility(R.id.widget_entry_fav_icon, View.INVISIBLE);
            }
        note_content.setTextViewText(R.id.widget_entry_content_tv, note.getTitle());
        }

        return note_content;
    }
+54 −33
Original line number Diff line number Diff line
@@ -14,48 +14,52 @@ import android.widget.RemoteViews;
import it.niedermann.owncloud.notes.R;
import it.niedermann.owncloud.notes.android.activity.EditNoteActivity;

import static android.appwidget.AppWidgetManager.ACTION_APPWIDGET_UPDATE;

public class SingleNoteWidget extends AppWidgetProvider {
    private static boolean darkTheme;

    public static final String DARK_THEME_KEY = "SNW_darkTheme";
    public static final String WIDGET_KEY = "single_note_widget";

    @Override
    public void onDeleted(Context context, int[] appWidgetIds) {
        SharedPreferences.Editor editor = PreferenceManager
                .getDefaultSharedPreferences(context).edit();
    static void updateAppWidget(Context context, AppWidgetManager awm, int appWidgetId) {
        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
        Intent templateIntent = new Intent(context, EditNoteActivity.class);
        templateIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

        for (int appWidgetId : appWidgetIds) {
            editor.remove(WIDGET_KEY + appWidgetId);
        // onUpdate has been triggered before the user finished configuring the widget
        if ((sp.getLong(WIDGET_KEY + appWidgetId, -1)) == -1) {
            return;
        }

        editor.apply();
        super.onDeleted(context, appWidgetIds);
    }

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        for (int appWidgetId : appWidgetIds) {
            Intent templateIntent = new Intent(context, EditNoteActivity.class);
            templateIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
        darkTheme = sp.getBoolean(DARK_THEME_KEY + appWidgetId, false);

            PendingIntent templatePendingIntent = PendingIntent.getActivity(
                    context,
                    appWidgetId,
                    templateIntent,
        PendingIntent templatePendingIntent = PendingIntent.getActivity(context, appWidgetId, templateIntent,
                                                                        PendingIntent.FLAG_UPDATE_CURRENT);

        Intent serviceIntent = new Intent(context, SingleNoteWidgetService.class);
            RemoteViews views = new RemoteViews(context.getPackageName(),
                    R.layout.widget_single_note);

        serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
        serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME)));

        RemoteViews views;

        if (darkTheme) {
            views = new RemoteViews(context.getPackageName(), R.layout.widget_single_note_dark);
            views.setPendingIntentTemplate(R.id.single_note_widget_lv_dark, templatePendingIntent);
            views.setRemoteAdapter(R.id.single_note_widget_lv_dark, serviceIntent);
            views.setEmptyView(R.id.single_note_widget_lv_dark, R.id.widget_single_note_placeholder_tv_dark);
        } else {
            views = new RemoteViews(context.getPackageName(), R.layout.widget_single_note);
            views.setPendingIntentTemplate(R.id.single_note_widget_lv, templatePendingIntent);
            views.setRemoteAdapter(R.id.single_note_widget_lv, serviceIntent);
            views.setEmptyView(R.id.single_note_widget_lv, R.id.widget_single_note_placeholder_tv);
        }

        awm.updateAppWidget(appWidgetId, views);
    }

            appWidgetManager.updateAppWidget(appWidgetId, views);
    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        for (int appWidgetId : appWidgetIds) {
            updateAppWidget(context, appWidgetManager, appWidgetId);
        }

        super.onUpdate(context, appWidgetManager, appWidgetIds);
@@ -63,17 +67,34 @@ public class SingleNoteWidget extends AppWidgetProvider {

    @Override
    public void onReceive(Context context, Intent intent) {
        AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
        int ids[] = appWidgetManager.getAppWidgetIds(new ComponentName(context,
        AppWidgetManager awm = AppWidgetManager.getInstance(context);
        int ids[] = awm.getAppWidgetIds(new ComponentName(context,
                                        SingleNoteWidget.class));

        for (int appWidgetId : ids) {
            if (ACTION_APPWIDGET_UPDATE.equals(intent.getAction())) {
                appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetId,
                        R.id.single_note_widget_lv);
            if (intent.getAction().equals(awm.ACTION_APPWIDGET_UPDATE)) {
                if (darkTheme) {
                    awm.notifyAppWidgetViewDataChanged(appWidgetId, R.id.single_note_widget_lv_dark);
                } else {
                    awm.notifyAppWidgetViewDataChanged(appWidgetId, R.id.single_note_widget_lv);
                }
            }
        }

        super.onReceive(context, intent);
    }

    @Override
    public void onDeleted(Context context, int[] appWidgetIds) {
        SharedPreferences.Editor editor = PreferenceManager
                .getDefaultSharedPreferences(context).edit();

        for (int appWidgetId : appWidgetIds) {
            editor.remove(WIDGET_KEY + appWidgetId);
            editor.remove(NoteListWidget.DARK_THEME_KEY + appWidgetId);
        }

        editor.apply();
        super.onDeleted(context, appWidgetIds);
    }
}
Loading