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

Commit e0169ec1 authored by Alex Florescu's avatar Alex Florescu
Browse files

Small refactor to allow more customization of AutoRotate settings in

extending classes

Bug: 195757480
Test: manual
Change-Id: I8d041933a77d0e6d0118c5e12ed02483ec4b14d5
parent 580cc81f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ import com.android.settingslib.core.lifecycle.events.OnStop;
import com.android.settingslib.widget.OnMainSwitchChangeListener;

/**
 * The switch controller for the location.
 * The switch controller for auto-rotate.
 */
public class AutoRotateSwitchBarController implements OnMainSwitchChangeListener,
        LifecycleObserver, OnStart, OnStop {
+11 −4
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ public class SmartAutoRotateController extends TogglePreferenceController implem
            updateState(mPreference);
        }
    };
    private Preference mPreference;
    protected Preference mPreference;
    private RotationPolicy.RotationPolicyListener mRotationPolicyListener;

    public SmartAutoRotateController(Context context, String preferenceKey) {
@@ -84,10 +84,14 @@ public class SmartAutoRotateController extends TogglePreferenceController implem
        if (!isRotationResolverServiceAvailable(mContext)) {
            return UNSUPPORTED_ON_DEVICE;
        }
        return !RotationPolicy.isRotationLocked(mContext) && hasSufficientPermission(mContext)
        return !isRotationLocked() && hasSufficientPermission(mContext)
                && !isCameraLocked() && !isPowerSaveMode() ? AVAILABLE : DISABLED_DEPENDENT_SETTING;
    }

    protected boolean isRotationLocked() {
        return RotationPolicy.isRotationLocked(mContext);
    }

    @Override
    public void updateState(Preference preference) {
        super.updateState(preference);
@@ -136,7 +140,7 @@ public class SmartAutoRotateController extends TogglePreferenceController implem

    @Override
    public boolean isChecked() {
        return !RotationPolicy.isRotationLocked(mContext) && hasSufficientPermission(mContext)
        return !isRotationLocked() && hasSufficientPermission(mContext)
                && !isCameraLocked() && !isPowerSaveMode() && Settings.Secure.getInt(
                mContext.getContentResolver(),
                CAMERA_AUTOROTATE, 0) == 1;
@@ -163,7 +167,10 @@ public class SmartAutoRotateController extends TogglePreferenceController implem
        return R.string.menu_key_display;
    }

    static boolean isRotationResolverServiceAvailable(Context context) {
    /**
     * Returns true if there is a {@link RotationResolverService} available
     */
    public static boolean isRotationResolverServiceAvailable(Context context) {
        final PackageManager packageManager = context.getPackageManager();
        final String resolvePackage = packageManager.getRotationResolverPackageName();
        if (TextUtils.isEmpty(resolvePackage)) {