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.os.UserHandle;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
|
||||
@@ -34,8 +33,6 @@ import com.android.settings.core.BasePreferenceController;
|
||||
*/
|
||||
public class SmartAutoRotatePreferenceController extends BasePreferenceController {
|
||||
|
||||
private static final String TAG = "SmartAutoRotatePreferenceController";
|
||||
|
||||
public SmartAutoRotatePreferenceController(Context context, String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
}
|
||||
@@ -54,16 +51,12 @@ public class SmartAutoRotatePreferenceController extends BasePreferenceControlle
|
||||
public CharSequence getSummary() {
|
||||
int activeStringId = R.string.auto_rotate_option_off;
|
||||
if (!RotationPolicy.isRotationLocked(mContext)) {
|
||||
try {
|
||||
final int cameraRotate = Settings.Secure.getIntForUser(
|
||||
mContext.getContentResolver(),
|
||||
CAMERA_AUTOROTATE,
|
||||
UserHandle.USER_CURRENT);
|
||||
activeStringId = cameraRotate == 1 ? R.string.auto_rotate_option_face_based
|
||||
: R.string.auto_rotate_option_on;
|
||||
} catch (Settings.SettingNotFoundException e) {
|
||||
Log.w(TAG, "CAMERA_AUTOROTATE setting not found", e);
|
||||
}
|
||||
final int cameraRotate = Settings.Secure.getIntForUser(
|
||||
mContext.getContentResolver(),
|
||||
CAMERA_AUTOROTATE,
|
||||
0, UserHandle.USER_CURRENT);
|
||||
activeStringId = cameraRotate == 1 ? R.string.auto_rotate_option_face_based
|
||||
: R.string.auto_rotate_option_on;
|
||||
}
|
||||
return mContext.getString(activeStringId);
|
||||
}
|
||||
|
@@ -107,6 +107,25 @@ public class SmartAutoRotatePreferenceControllerTest {
|
||||
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
|
||||
public void testGetAvailabilityStatus() {
|
||||
assertThat(mController.getAvailabilityStatus()).isEqualTo(BasePreferenceController
|
||||
|
Reference in New Issue
Block a user