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

Commit 1dd00243 authored by Adam Cohen's avatar Adam Cohen
Browse files

Tweaking mechanism for adding keyguard widgets

-> Fix for issue 7173877
-> Fix for issue 7173587

Change-Id: I266cafcf175c98e0c8a8401e11faa5dd2e2fa885
parent 221e4356
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -459,8 +459,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
            Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
            // Found in KeyguardHostView.java
            final int KEYGUARD_HOST_ID = 0x4B455947;
            int appWidgetId = AppWidgetHost.allocateAppWidgetIdForHost(
                    "com.android.internal.policy.impl.keyguard", KEYGUARD_HOST_ID);
            int appWidgetId = AppWidgetHost.allocateAppWidgetIdForSystem(KEYGUARD_HOST_ID);
            if (appWidgetId != -1) {
                pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
                pickIntent.putExtra(AppWidgetManager.EXTRA_CUSTOM_SORT, false);
@@ -592,7 +591,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
                    // Otherwise just add it
                    if (noWidget) {
                        // If we selected "none", delete the allocated id
                        AppWidgetHost.deleteAppWidgetIdForHost(appWidgetId);
                        AppWidgetHost.deleteAppWidgetIdForSystem(appWidgetId);
                        data.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
                    } else {
                        onActivityResult(REQUEST_CREATE_APPWIDGET, Activity.RESULT_OK, data);
@@ -603,13 +602,13 @@ public class SecuritySettings extends SettingsPreferenceFragment
                // If a widget existed before, delete it
                int oldAppWidgetId = getUserSelectedAppWidgetId();
                if (oldAppWidgetId != -1) {
                    AppWidgetHost.deleteAppWidgetIdForHost(oldAppWidgetId);
                    AppWidgetHost.deleteAppWidgetIdForSystem(oldAppWidgetId);
                }
                Settings.Secure.putString(getContentResolver(),
                        Settings.Secure.LOCK_SCREEN_USER_SELECTED_APPWIDGET_ID,
                        Integer.toString(appWidgetId));
            } else {
                AppWidgetHost.deleteAppWidgetIdForHost(appWidgetId);
                AppWidgetHost.deleteAppWidgetIdForSystem(appWidgetId);
            }
        }
        createPreferenceHierarchy();