diff --git a/host/migration/src/LineageSettings.java b/host/migration/src/LineageSettings.java
index d72c5b2..83bb1eb 100644
--- a/host/migration/src/LineageSettings.java
+++ b/host/migration/src/LineageSettings.java
@@ -782,8 +782,10 @@
 
         /**
          * String to contain power menu actions
+         * @deprecated
          * @hide
          */
+        @Deprecated
         public static final String POWER_MENU_ACTIONS = "power_menu_actions";
 
         /**
diff --git a/sdk/src/java/lineageos/content/Intent.java b/sdk/src/java/lineageos/content/Intent.java
index ad6296e..62fae18 100644
--- a/sdk/src/java/lineageos/content/Intent.java
+++ b/sdk/src/java/lineageos/content/Intent.java
@@ -104,17 +104,6 @@
             "lineageos.intent.extra.LID_STATE";
 
     /**
-     * Broadcast Action: Update preferences for the power menu dialog. This is to provide a
-     * way for the preferences that need to be enabled/disabled to update because they were
-     * toggled elsewhere in the settings (ie screenshot, user switcher, etc) so we don't have
-     * to do constant lookups while we wait for the menu to be created. Getting the values once
-     * when necessary is enough.
-     *@hide
-     */
-    public static final String ACTION_UPDATE_POWER_MENU =
-            "lineageos.intent.action.UPDATE_POWER_MENU";
-
-    /**
      * Broadcast action: notify SystemUI that LiveDisplay service has finished initialization.
      * @hide
      */
diff --git a/sdk/src/java/lineageos/providers/LineageSettings.java b/sdk/src/java/lineageos/providers/LineageSettings.java
index 23ef14d..c6d70bd 100644
--- a/sdk/src/java/lineageos/providers/LineageSettings.java
+++ b/sdk/src/java/lineageos/providers/LineageSettings.java
@@ -2822,8 +2822,10 @@
 
         /**
          * String to contain power menu actions
+         * @deprecated
          * @hide
          */
+        @Deprecated
         public static final String POWER_MENU_ACTIONS = "power_menu_actions";
 
         /**
diff --git a/sdk/src/java/org/lineageos/internal/util/PowerMenuConstants.java b/sdk/src/java/org/lineageos/internal/util/PowerMenuConstants.java
deleted file mode 100644
index dc03dc8..0000000
--- a/sdk/src/java/org/lineageos/internal/util/PowerMenuConstants.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2015 The CyanogenMod Project
- * Copyright (C) 2017-2018 The LineageOS Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.lineageos.internal.util;
-
-/* Master list of all actions for the power menu */
-public class PowerMenuConstants {
-    public static final String GLOBAL_ACTION_KEY_POWER = "power";
-    public static final String GLOBAL_ACTION_KEY_RESTART = "restart";
-    public static final String GLOBAL_ACTION_KEY_SCREENSHOT = "screenshot";
-    public static final String GLOBAL_ACTION_KEY_AIRPLANE = "airplane";
-    public static final String GLOBAL_ACTION_KEY_USERS = "users";
-    public static final String GLOBAL_ACTION_KEY_SETTINGS = "settings";
-    public static final String GLOBAL_ACTION_KEY_LOCKDOWN = "lockdown";
-    public static final String GLOBAL_ACTION_KEY_BUGREPORT = "bugreport";
-    public static final String GLOBAL_ACTION_KEY_SILENT = "silent";
-    public static final String GLOBAL_ACTION_KEY_VOICEASSIST = "voiceassist";
-    public static final String GLOBAL_ACTION_KEY_ASSIST = "assist";
-    public static final String GLOBAL_ACTION_KEY_LOGOUT = "logout";
-    public static final String GLOBAL_ACTION_KEY_EMERGENCY = "emergency";
-
-    /**
-     * Advanced restart menu actions
-     */
-    public static final String GLOBAL_ACTION_KEY_RESTART_RECOVERY = "restart_recovery";
-    public static final String GLOBAL_ACTION_KEY_RESTART_BOOTLOADER = "restart_bootloader";
-    public static final String GLOBAL_ACTION_KEY_RESTART_DOWNLOAD = "restart_download";
-    public static final String GLOBAL_ACTION_KEY_RESTART_FASTBOOT = "restart_fastboot";
-
-    private static String[] ALL_ACTIONS = {
-        GLOBAL_ACTION_KEY_POWER,
-        GLOBAL_ACTION_KEY_RESTART,
-        GLOBAL_ACTION_KEY_SCREENSHOT,
-        GLOBAL_ACTION_KEY_AIRPLANE,
-        GLOBAL_ACTION_KEY_USERS,
-        GLOBAL_ACTION_KEY_SETTINGS,
-        GLOBAL_ACTION_KEY_LOCKDOWN,
-        GLOBAL_ACTION_KEY_BUGREPORT,
-        GLOBAL_ACTION_KEY_SILENT,
-        GLOBAL_ACTION_KEY_VOICEASSIST,
-        GLOBAL_ACTION_KEY_ASSIST,
-        GLOBAL_ACTION_KEY_LOGOUT,
-        GLOBAL_ACTION_KEY_EMERGENCY,
-    };
-
-    public static String[] getAllActions() {
-        return ALL_ACTIONS;
-    }
-}
