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

Commit f1128f0c authored by Christian Göllner's avatar Christian Göllner Committed by Android (Google) Code Review
Browse files

Merge "Small refactor to allow more customization of AutoRotate settings in extending classes"

parents 6d4870f9 e0169ec1
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)) {