Merge "Fix keyboard vibration settings delay" into main

This commit is contained in:
Wilson Wu
2024-03-13 08:32:48 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 2 deletions

View File

@@ -22,6 +22,7 @@ import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
import static com.android.settings.accessibility.AccessibilityUtil.State.ON; import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.database.ContentObserver; import android.database.ContentObserver;
import android.net.Uri; import android.net.Uri;
@@ -159,8 +160,11 @@ public class KeyboardVibrationTogglePreferenceController extends TogglePreferenc
} }
private boolean updateKeyboardVibrationSetting(boolean enable) { private boolean updateKeyboardVibrationSetting(boolean enable) {
final boolean success = Settings.System.putInt(mContext.getContentResolver(), final ContentResolver contentResolver = mContext.getContentResolver();
final boolean success = Settings.System.putInt(contentResolver,
KEYBOARD_VIBRATION_ENABLED, enable ? ON : OFF); KEYBOARD_VIBRATION_ENABLED, enable ? ON : OFF);
contentResolver.notifyChange(Settings.System.getUriFor(KEYBOARD_VIBRATION_ENABLED),
null /* observer */, ContentResolver.NOTIFY_NO_DELAY);
if (!success) { if (!success) {
Log.w(TAG, "Update settings database error!"); Log.w(TAG, "Update settings database error!");
} }

View File

@@ -30,6 +30,7 @@ import static org.mockito.Mockito.when;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.vibrator.Flags; import android.os.vibrator.Flags;
@@ -60,6 +61,9 @@ public class KeyboardVibrationTogglePreferenceControllerTest {
@Mock @Mock
private PreferenceScreen mPreferenceScreen; private PreferenceScreen mPreferenceScreen;
@Mock
private ContentResolver mContentResolver;
private Context mContext; private Context mContext;
private Resources mResources; private Resources mResources;
private KeyboardVibrationTogglePreferenceController mController; private KeyboardVibrationTogglePreferenceController mController;
@@ -72,6 +76,7 @@ public class KeyboardVibrationTogglePreferenceControllerTest {
mContext = spy(ApplicationProvider.getApplicationContext()); mContext = spy(ApplicationProvider.getApplicationContext());
mResources = spy(mContext.getResources()); mResources = spy(mContext.getResources());
when(mContext.getResources()).thenReturn(mResources); when(mContext.getResources()).thenReturn(mResources);
when(mContext.getContentResolver()).thenReturn(mContentResolver);
mFeatureFactory = FakeFeatureFactory.setupForTest(); mFeatureFactory = FakeFeatureFactory.setupForTest();
mController = new KeyboardVibrationTogglePreferenceController(mContext, "preferenceKey"); mController = new KeyboardVibrationTogglePreferenceController(mContext, "preferenceKey");
mPreference = new SwitchPreference(mContext); mPreference = new SwitchPreference(mContext);