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

Commit 2ca394b5 authored by Gegham Zakaryan's avatar Gegham Zakaryan Committed by Bruno Martins
Browse files

frameworks: Add tunable for GlobalActions configuration



Before, the power menu may have not updated when switching users. With tunables, we can be sure each user will only see their own settings.

Remove the ACTION_UPDATE_POWER_MENU broadcast as well.

Signed-off-by: default avatarGegham Zakaryan <zakaryan.2004@outlook.com>
Change-Id: I1d7dbe1eac41a83910c9c6db28162212971b42fb
parent b5632e3a
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -129,6 +129,7 @@ import com.android.internal.util.ScreenshotHelper;
import com.android.internal.util.UserIcons;
import com.android.internal.view.RotationPolicy;
import com.android.internal.widget.LockPatternUtils;
import com.android.systemui.Dependency;
import com.android.systemui.Interpolators;
import com.android.systemui.MultiListLayout;
import com.android.systemui.MultiListLayout.MultiListAdapter;
@@ -150,6 +151,7 @@ import com.android.systemui.statusbar.NotificationShadeDepthController;
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.util.EmergencyDialerConstants;
import com.android.systemui.util.RingerModeTracker;
import com.android.systemui.util.leak.RotationUtils;
@@ -177,7 +179,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
        DialogInterface.OnShowListener,
        ConfigurationController.ConfigurationListener,
        GlobalActionsPanelPlugin.Callbacks,
        LifecycleOwner {
        LifecycleOwner, TunerService.Tunable {

    public static final String SYSTEM_DIALOG_REASON_KEY = "reason";
    public static final String SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS = "globalactions";
@@ -199,6 +201,9 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
    public static final String PREFS_CONTROLS_FILE = "controls_prefs";
    private static final int SEEDING_MAX = 2;

    private static final String POWER_MENU_ACTIONS_STRING =
            "lineagesecure:" + LineageSettings.Secure.POWER_MENU_ACTIONS;

    private final Context mContext;
    private final GlobalActionsManager mWindowManagerFuncs;
    private final AudioManager mAudioManager;
@@ -367,7 +372,6 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
        filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
        filter.addAction(Intent.ACTION_SCREEN_OFF);
        filter.addAction(TelephonyManager.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED);
        filter.addAction(lineageos.content.Intent.ACTION_UPDATE_POWER_MENU);
        mBroadcastDispatcher.registerReceiver(mBroadcastReceiver, filter);

        mHasTelephony = connectivityManager.isNetworkSupported(ConnectivityManager.TYPE_MOBILE);
@@ -440,6 +444,8 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
                    }
                });

        Dependency.get(TunerService.class).addTunable(this, POWER_MENU_ACTIONS_STRING);

        mActions = mLineageGlobalActions.getUserActionsArray();
    }

@@ -2243,8 +2249,6 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
                    mIsWaitingForEcmExit = false;
                    changeAirplaneModeSystemSetting(true);
                }
            } else if (lineageos.content.Intent.ACTION_UPDATE_POWER_MENU.equals(action)) {
                mActions = mLineageGlobalActions.getUserActionsArray();
            }
        }
    };
@@ -2263,6 +2267,13 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
        }
    };

    @Override
    public void onTuningChanged(String key, String newValue) {
        if (POWER_MENU_ACTIONS_STRING.equals(key)) {
            mActions = mLineageGlobalActions.getUserActionsArray();
        }
    }

    private ContentObserver mAirplaneModeObserver = new ContentObserver(mMainHandler) {
        @Override
        public void onChange(boolean selfChange) {