Fix auto-rotate summary not updating on devices without smart-auto-rotate
Test: locally with crosshatch Bug: 181585193 Change-Id: I571b10556ff2f4f4d6ff960fcfdf7866405d5ee5
This commit is contained in:
@@ -21,7 +21,6 @@ import static android.provider.Settings.Secure.CAMERA_AUTOROTATE;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
@@ -34,8 +33,6 @@ import com.android.settings.core.BasePreferenceController;
|
|||||||
*/
|
*/
|
||||||
public class SmartAutoRotatePreferenceController extends BasePreferenceController {
|
public class SmartAutoRotatePreferenceController extends BasePreferenceController {
|
||||||
|
|
||||||
private static final String TAG = "SmartAutoRotatePreferenceController";
|
|
||||||
|
|
||||||
public SmartAutoRotatePreferenceController(Context context, String preferenceKey) {
|
public SmartAutoRotatePreferenceController(Context context, String preferenceKey) {
|
||||||
super(context, preferenceKey);
|
super(context, preferenceKey);
|
||||||
}
|
}
|
||||||
@@ -54,16 +51,12 @@ public class SmartAutoRotatePreferenceController extends BasePreferenceControlle
|
|||||||
public CharSequence getSummary() {
|
public CharSequence getSummary() {
|
||||||
int activeStringId = R.string.auto_rotate_option_off;
|
int activeStringId = R.string.auto_rotate_option_off;
|
||||||
if (!RotationPolicy.isRotationLocked(mContext)) {
|
if (!RotationPolicy.isRotationLocked(mContext)) {
|
||||||
try {
|
|
||||||
final int cameraRotate = Settings.Secure.getIntForUser(
|
final int cameraRotate = Settings.Secure.getIntForUser(
|
||||||
mContext.getContentResolver(),
|
mContext.getContentResolver(),
|
||||||
CAMERA_AUTOROTATE,
|
CAMERA_AUTOROTATE,
|
||||||
UserHandle.USER_CURRENT);
|
0, UserHandle.USER_CURRENT);
|
||||||
activeStringId = cameraRotate == 1 ? R.string.auto_rotate_option_face_based
|
activeStringId = cameraRotate == 1 ? R.string.auto_rotate_option_face_based
|
||||||
: R.string.auto_rotate_option_on;
|
: R.string.auto_rotate_option_on;
|
||||||
} catch (Settings.SettingNotFoundException e) {
|
|
||||||
Log.w(TAG, "CAMERA_AUTOROTATE setting not found", e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return mContext.getString(activeStringId);
|
return mContext.getString(activeStringId);
|
||||||
}
|
}
|
||||||
|
@@ -107,6 +107,25 @@ public class SmartAutoRotatePreferenceControllerTest {
|
|||||||
assertThat(mController.getSummary()).isEqualTo("Off");
|
assertThat(mController.getSummary()).isEqualTo("Off");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updatePreference_settingsIsOff_noSmartAuto_shouldTurnOffToggle() {
|
||||||
|
disableAutoRotation();
|
||||||
|
Settings.Secure.putStringForUser(mContentResolver,
|
||||||
|
CAMERA_AUTOROTATE, null, UserHandle.USER_CURRENT);
|
||||||
|
|
||||||
|
assertThat(mController.getSummary()).isEqualTo("Off");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updatePreference_settingsIsOn_noSmartAuto_shouldTurnOnToggle() {
|
||||||
|
enableAutoRotation();
|
||||||
|
Settings.Secure.putStringForUser(mContentResolver,
|
||||||
|
CAMERA_AUTOROTATE, null, UserHandle.USER_CURRENT);
|
||||||
|
|
||||||
|
assertThat(mController.getSummary()).isEqualTo("On");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetAvailabilityStatus() {
|
public void testGetAvailabilityStatus() {
|
||||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(BasePreferenceController
|
assertThat(mController.getAvailabilityStatus()).isEqualTo(BasePreferenceController
|
||||||
|
Reference in New Issue
Block a user